function HideMe(obj) {
	$("#"+obj).fadeOut("slow");
	$("#"+obj).remove();
	window.location.reload();
}
function addrecip(pUrlToLoad) {
	// remove possible open recipe layer before creating new one
	if( $("#addrecipelyr").length < 1 ) {
		// append popup layer to DOM and load page into it
		$("body").append("<div id='addrecipelyr'></div>");
		centerPosition('#addrecipelyr', 100);
		$.get( pUrlToLoad,
			function(data) {
				$("#addrecipelyr").append(data).fadeIn(5000);
			}
		); 
		} else {
			 $("#addrecipelyr").remove();
			 return false;
		}
}
function centerPosition(objlyr, topPos) {
	var screenCenter = $('body').width() / 2;
	var centerPos = screenCenter -  ($(objlyr).width()/2);
   	$(objlyr).css({left:centerPos, top:topPos});
   	window.scrollTo(0,topPos);
}
/* Add steps */
function addStep(tblid,msg) {
	var tbl = document.getElementById(tblid);
	var lastRow = tbl.rows.length-1;
	var iteration = lastRow+1;
	var row = tbl.insertRow(lastRow);
	// Step cell
	var stp = msg+" "+(iteration)+":"; 
	var cellLeft = row.insertCell(0);
	cellLeft.className = 'boldtxt';
	var textNode = document.createTextNode(stp);
	cellLeft.appendChild(textNode);
	// Textarea cell
	var cellRight = row.insertCell(1);
	var el = document.createElement('textarea');
	el.rows = 3;
	el.cols = 20;
	el.name = 'cookInst';
	el.className = 'inputfield';
	cellRight.appendChild(el);	
}
/* Add Ingredients */
function addIngred(tblid,dataid) {
	var tbl = document.getElementById(tblid);
	var datalst = document.getElementById(dataid);
	var lastRow = tbl.rows.length-1;
	var row = tbl.insertRow(lastRow);
	// Amount column
	var cellLeft = row.insertCell(0);
	var el = document.createElement('input');
	el.type = 'text';
	el.name = 'ingAmount';
	el.size = 4;
	el.setAttribute('maxlength', 4);
	cellLeft.appendChild(el);
	// Measurements column
	var cellRightSel = row.insertCell(1);	
	cellRightSel.id= tblid+"_"+lastRow;
	cellRightSel.innerHTML = (datalst).innerHTML;
	var mylist=document.getElementById(cellRightSel.id);
	for (i=0; i<mylist.childNodes.length; i++){
	if (mylist.childNodes[i].nodeName=="SELECT") {
	   mylist.childNodes[i].selectedIndex = 0;
	   }
	}
	// Ingredient column
	var cellRight = row.insertCell(2);
	var el_1 = document.createElement('input');
	el_1.type = 'text';
	el_1.name = 'ingredient';
	el_1.className = 'inputingrdientname';
	el_1.size = 25;
	el_1.setAttribute('maxlength', 100);
	cellRight.appendChild(el_1);
}
/* Add Main Ingredients */
function mainIngred(tblid,dataid) {
	var tbl = document.getElementById(tblid);
	var datalst = document.getElementById(dataid);
	var lastRow = tbl.rows.length-1;
	var row = tbl.insertRow(lastRow);
	// Main ingredients cell
	var cellRightSel = row.insertCell(0);
	cellRightSel.id= tblid+"_"+lastRow;
	cellRightSel.innerHTML = (datalst).innerHTML;
	var mylist=document.getElementById(cellRightSel.id);
	for (i=0; i<mylist.childNodes.length; i++){
	if (mylist.childNodes[i].nodeName=="SELECT") {
	   mylist.childNodes[i].selectedIndex = 0;
	   }
	}
}
/* Add Categories Method */
function addMethod(tblid,dataid) {
	var tbl = document.getElementById(tblid);
	var datalst = document.getElementById(dataid);
	var lastRow = tbl.rows.length-1;
	var row = tbl.insertRow(lastRow);
	// Main ingredients cell
	var cellRightSel = row.insertCell(0);
	cellRightSel.id= tblid+"_"+lastRow;
	cellRightSel.innerHTML = (datalst).innerHTML;
	var mylist=document.getElementById(cellRightSel.id);
	for (i=0; i<mylist.childNodes.length; i++){
	if (mylist.childNodes[i].nodeName=="SELECT") {
	   mylist.childNodes[i].selectedIndex = 0;
	   }
	}
}
var validtycfrm = false;
function nxtpg(oElemid) {
	validtycfrm = fldvalidate(oElemid);
	if (validtycfrm) {
		HideContent();
		switchRobustTabs(oElemid);
	}
	validtycfrm = false;
}
function switchtab(oElemClicked) {
	oElemId = $(oElemClicked).attr("id");
	var crntab = document.getElementById('currenttab');
	validtycfrm = fldvalidate(oElemId);
	if (crntab.value==1) {
		if((oElemId=='tab_step2') && (validtycfrm==true)) {
			crntab.value='2';
			jumptab(oElemClicked);
		}
	}
	if (crntab.value==2) {
		if((oElemId=='tab_step3') && (validtycfrm==true)) {
			crntab.value='3';
			jumptab(oElemClicked);
		}
		if((oElemId=='tab_step1')) {
			crntab.value='1';
			jumptab(oElemClicked);
		}
	}
	if (crntab.value==3) {
		if((oElemId=='tab_step1')) {
			crntab.value='1';
			jumptab(oElemClicked);
		}
		if((oElemId=='tab_step2')) {
			crntab.value='2';
			jumptab(oElemClicked);
		}
		if((oElemId=='tab_step4') && (validtycfrm==true)) {
			crntab.value='4';
			jumptab(oElemClicked);
		}
	}
	if (crntab.value==4) {
		if((oElemId=='tab_step1') && (validtycfrm==true)) {
			crntab.value='31';
			jumptab(oElemClicked);
		}
		if((oElemId=='tab_step2') && (validtycfrm==true)) {
			crntab.value='2';
			jumptab(oElemClicked);
		}
		if((oElemId=='tab_step3') && (validtycfrm==true)) {
			crntab.value='3';
			jumptab(oElemClicked);
		}
	}	
	validtycfrm = false;
}
function chngtagimg(optn) {
	if(optn==1) {
		document.getElementById("tab_step1_img").src='/consumerfiles/assets/img/ka/1_wht.gif';
		document.getElementById("tab_step2_img").src='/consumerfiles/assets/img/ka/2_wht.gif';
		document.getElementById("tab_step3_img").src='/consumerfiles/assets/img/ka/3_wht.gif';
		document.getElementById("tab_step4_img").src='/consumerfiles/assets/img/ka/4_wht.gif';
	}
	else {
		if (optn=='tab_step1'){document.getElementById("tab_step1_img").src='/consumerfiles/assets/img/ka/1_grn.gif';}
		if (optn=='tab_step2'){document.getElementById("tab_step2_img").src='/consumerfiles/assets/img/ka/2_grn.gif';}
		if (optn=='tab_step3'){document.getElementById("tab_step3_img").src='/consumerfiles/assets/img/ka/3_grn.gif';}
		if (optn=='tab_step4'){document.getElementById("tab_step4_img").src='/consumerfiles/assets/img/ka/4_grn.gif';}
	}
	return;
}
function jumptab(oElemClicked) {
	if($(oElemClicked).attr("class") != "current") {
		$("#tab_content").children().hide();
		$("#tab_ka_steps > li").removeClass("current");
		chngtagimg(1);
		$(oElemClicked).addClass("current");
		oElemClickedId = $(oElemClicked).attr("id");
		headertext(oElemClickedId);
		chngtagimg(oElemClickedId);
		var currentTabContent = "#" + $(oElemClicked).attr("id") + "_content";
		$(currentTabContent).show();
	}
}
function fldvalidate(oElemid){
	//step 1
	var valFld = new Array();
	valFld[0] = "recipename";
	valFld[1]= "noOfServing";
	valFld[2] = "preparationTime";
	valFld[3] = "cookingTime";
	valFld[4] = "totalTime";
	valFld[5] = "difficultyLevel";	
	valFld[6] = "courses"; 
	valFld[7] = "recipeType";
	valFld[8] = "mealType";
	valFld[9] = "cuisine";
	valFld[10] = "specialDiet";
	//step 2
	valFld[11] = "ingAmount";
	valFld[12] = "measurement";
	valFld[13] = "ingredient";
	valFld[14] = "mainIngredients";
	//step 3
	valFld[15] = "cookInst";
	valFld[20] = "recipeImage";
	//step 4
	valFld[16] = "authorFirstName";
	valFld[17] = "authorLastName";
	valFld[18] = "authorMailId";
	valFld[19] = "termandconditions";
	
	if(oElemid=='tab_step2') {
		errcount = 0;
		if (validtycfrm == false) {
			if(chkval(valFld[0],1)==true){ addErrorClass(valFld[0]+'_label'); errcount++;}
			if(chkval(valFld[1],2)==true){ addErrorClass(valFld[1]+'_label'); errcount++; }
			if(chkval(valFld[2],1)==true){ addErrorClass(valFld[2]+'_label'); errcount++; }
			if(chkval(valFld[3],1)==true){ addErrorClass(valFld[3]+'_label'); errcount++; }
			if(chkval(valFld[4],1)==true){ addErrorClass(valFld[4]+'_label'); errcount++;}
			if(chkval(valFld[5],2)==true){ addErrorClass(valFld[5]+'_label'); errcount++; }
			if(chkval(valFld[6],2)==true){ addErrorClass(valFld[6]+'_label'); errcount++; }
			if(chkval(valFld[7],2)==true){ addErrorClass(valFld[7]+'_label'); errcount++; }
			if(chkval(valFld[8],3)==true){ addErrorClass(valFld[8]+'_label'); errcount++; }
			if(chkval(valFld[9],2)==true){ addErrorClass(valFld[9]+'_label'); errcount++; }
			if(chkval(valFld[10],2)==true){ addErrorClass(valFld[10]+'_label'); errcount++; }
		}
		if ( errcount == 0) {
			validtycfrm = true;
		}
		
	}
	if(oElemid=='tab_step3') {
		errcount = 0;
		if((document.getElementById(valFld[11]).value =="") || (document.getElementById(valFld[12]).selectedIndex==0) || (document.getElementById(valFld[13]).value =="")){ 
				addErrorClass(valFld[11]+'_label'); errcount++;
		}
		else { removErrorClass(valFld[11]+'_label'); }
		if(chkval(valFld[14],2)==true){ addErrorClass(valFld[14]+'_label'); errcount++;}
		if ( errcount == 0) {
			validtycfrm = true;
		}
	}
	if(oElemid=='tab_step4') {
		errcount = 0;
		if(chkval(valFld[15],1)==true){ addErrorClass(valFld[15]+'_label'); errcount++;}
		if (document.getElementById(valFld[20]).value !="") { 
			if(imgformat(valFld[20])==true){
				addErrorClass(valFld[20]+'_label');
				errcount++;
			}
		}
		if ( errcount == 0) {
			validtycfrm = true;
		}
				
	}
	if(oElemid=='last_step') {
		errcount = 0;
		if(chkval(valFld[16],1)==true){ addErrorClass(valFld[16]+'_label'); errcount++;}
		if(chkval(valFld[17],1)==true){ addErrorClass(valFld[17]+'_label'); errcount++;}
		if((document.getElementById(valFld[18]).value!='') || (document.getElementById(valFld[18]).value=='')) {
			 var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
		      if (document.getElementById(valFld[18]).value.search(emailRegEx) == -1) {
		          document.getElementById(valFld[18]).value='';
		          addErrorClass(valFld[18]+'_label');
		          errcount++;
		     }
		     else {
		          removErrorClass(valFld[18]+'_label');
		     }
		}
		if(document.getElementById(valFld[19]).checked==false){ addErrorClass(valFld[19]+'_label'); errcount++;}
		else { removErrorClass(valFld[19]+'_label'); }
		if ( errcount == 0) {
			validtycfrm = true;
		}
	}
	return validtycfrm;
}
function addErrorClass(objid)
{
	document.getElementById(objid).className="error";
	return;
}
function removErrorClass(objid)
{
	document.getElementById(objid).className="";
	return;
}
// switching over Steps tab to previous page
function switchRobustTabs(oElemClicked) {
	if($(oElemClicked).attr("class") != "current") {
		$("#tabscontent").children().hide();
		$("#tab_ka_steps > li").removeClass("current");
		document.getElementById(oElemClicked).className="current";
		chngtagimg(1);
		chngtagimg(oElemClicked);
		HideContent();
		var currentTabContent = "#" + oElemClicked + "_content";
		oElemClickedId = $(oElemClicked).attr("id")
		headertext(oElemClicked);
		$(currentTabContent).show();
	}
	return;
}
function headertext(oElemClicked){
	var valTitleId = new Array();
	valTitleId[0] = "tab_step1_title";
	valTitleId[1] = "tab_step2_title";
	valTitleId[2] = "tab_step3_title";
	valTitleId[3] = "tab_step4_title";
	valTitleId[4] = "tab_thankyou_title";
	for (i=0; i<=4; i++) {
		$("#"+valTitleId[i]).hide();
	}
	oElemid = oElemClicked+"_title";
	oElemobj = document.getElementById(oElemid);
	oElemobj.style.display='block';
	oElemobj.style.left='10';
	oElemobj.style.top='10';
	return;
}
function steptitle(oElemClicked) {
	$("#"+oElemClicked+"_title").show();
	return;
}
function HideContent() {
	var contentLyrId = new Array();
	contentLyrId[0] = "tab_step1_content";
	contentLyrId[1] = "tab_step2_content";
	contentLyrId[2] = "tab_step3_content";
	contentLyrId[3] = "tab_step4_content";
	for (i=0; i<=3; i++) {
		$("#"+contentLyrId[i]).hide();
	}
	return;
}
/* Input validation */
function chkval(objElem,optn) {
	var errorflag = false;
	if(optn==1) {
		if((document.getElementById(objElem).value =="") || (document.getElementById(objElem).value == null)){
			errorflag = true;
		}
		else { 
			removErrorClass(objElem+'_label');
			errorflag = false;
		}
	}
	if(optn==2) {
		if(document.getElementById(objElem).selectedIndex==0){
		    errorflag = true;
		}
		else {
			removErrorClass(objElem+'_label');
			errorflag = false;
		}
	}
	if(optn==3) {
		oElem = document.getElementsByName('mealType');
		oElemcount = oElem.length;
		selcount = 0;
		for(i=0; i<oElemcount; i++) {
		objid = document.getElementById('mealType_'+i);
			if(objid.checked!=true) {
				 selcount = selcount+1;
				 if(selcount==oElemcount) {
				 	 errorflag = true;
				 }
			}
			else {
				removErrorClass(objElem+'_label');
				errorflag = false;
			}
		}
	}
	return errorflag;
}
function submitform()
{
	validtycfrm = fldvalidate('last_step');
	if (validtycfrm==true) {
		document.getElementById('userRecipeData').target = 'upload_target';
		document.userRecipeData.submit();
		document.getElementById("upload_target").onload = setTimeout('uploadDone()',2000);
	}
	validtycfrm = false;
}
function uploadDone() { //Function will be called when iframe is loaded
    var ret_1 = frames['upload_target'].document.getElementsByTagName("body")[0].innerHTML;
    var browser;
    if ($.browser.msie) {
    	submitstatus(ret_1);
    }
    else if ($.browser.mozilla) {
    	Response = eval(ret_1);
    	submitstatus(Response);
    }
    else {
    	Response = frames['upload_target'].document.getElementsByTagName("body")[0].innerText;
    	submitstatus(Response);
    }
	return;
}
function submitstatus(objval){
	if((objval == undefined) || (objval == null) || objval.length == 0 ){
	            setTimeout('uploadDone()',3000); 
	      }
      else { 
         if(objval  == 'success' || objval =='<PRE>success</PRE>'){
                succes();
          }
         else if(objval  == 'fileSizeIssue'){
         		erroralert();
         }
         else{
               fail();
         }
      }
	return;
}
function succes() {
	$("#competitionsteps").hide();
	ShowTitle('tab_thankyou_title');
	document.getElementById('addrecipe5').className='';
	return;
}
function fail() {
	$("#competitionsteps").hide();
	document.getElementById('addrecipe6').className='';
	return;
}
function erroralert() {
	$("#competitionsteps").hide();
	document.getElementById('filesize').className='';
	return;
}
function chngval(){
	var filepath = document.getElementById('recipeImage').value;
    document.getElementById('recipeImage_1').value = filepath; 
}
//  check for valid numeric strings
function IsNumeric(strString)
{
   var strValidChars = "0123456789";
   var strStringValue = document.getElementById(strString).value;
   var strChar;
   var blnResult = true;
   if (strStringValue.length == 0) return false;
   for (i = 0; i < strStringValue.length && blnResult == true; i++)
      {
      strChar = strStringValue.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
function isvaldata(obj) {
	if(IsNumeric(obj)==false) {
		document.getElementById(obj).value='';
	}
}
function IsPhone(strString)
{
   var strValidChars = "0123456789()-+";
   var strStringValue = document.getElementById(strString).value;
   var strChar;
   var blnResult = true;
   if (strStringValue.length == 0) return false;
   for (i = 0; i < strStringValue.length && blnResult == true; i++)
      {
      strChar = strStringValue.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         	document.getElementById(strString).value='';
         }
      }
   return blnResult;
}
function ismaxlength(obj)
{
 	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}
function popupclose(obj) {
	$("#"+obj).fadeOut("slow");
	$("#"+obj).remove();
}
function imgformat(obj) {
	var imgflag = false;
	filepath = document.getElementById(obj).value;
	var ext = filepath; 
	var result = filepath.lastIndexOf('.'); 
    ext = ext.substr(result+1).toLowerCase(); 
    switch (ext) { 
      case 'jpeg': 
      case 'jpg': 
      case 'gif': 
      case 'png': 
         break; 
      default: 
          alert('This is not a valid file extension.');
        imgflag = true;
    }
    return imgflag;
}
function ShowTitle(obj) {
	oElemobj = document.getElementById(obj);
	oElemobj.style.display='block';
}