/**
 * Returns the form parameters as an array.
 */
function getFormParams(frm){
	if(!frm) return {};
	var eles=frm.elements;
	var result={};
	for(var i=0;i<eles.length;i++){
		switch(eles[i].type){
		case "select":
			result[eles[i].name]=eles[i][eles[i].selectedIndex].value;
			break;
		case "radio":
		case "checkBox":
			if(eles[i].checked){
				result[eles[i].name]=eles[i].value;				
			}
			break;
		default:
			result[eles[i].name] = eles[i].value;
			break;
		}
	}
	return result;
}

function setFormParams(frm, result){
	if(!frm) return {};
	var eles=frm.elements;
	for(var i=0;i<eles.length;i++){
		if(result[eles[i].name]){
			switch(eles[i].type){		
			case "select":
				var sl=eles[i];
				for(var j=0;j<sl.options.length;j++){
					if(sl.options[j].value == result[sl.name]){
						sl.selectedIndex=j;
						break;
					}
				}
				break;
			case "radio":
			case "checkBox":			
				if(result[eles[i].name] && result[eles[i].name] == eles[i].value ){
					eles[i].checked = true;				
				}
				break;
			default:
				eles[i].value=result[eles[i].name];
				break;
			}
		}
	}
	return result;
}
function addEvent(el, eType, fn, uC) {
	if (el.addEventListener) {
		el.addEventListener(eType, fn, uC);
		return true;
	} else if (el.attachEvent) {
		return el.attachEvent('on' + eType, fn);
	}
}

function checkPayPal(response){
    if(!response) return;
    if(response.indexOf("paypal.com")>-1){
          document.write(response);
    } 
}


/**
 * Shows and hides the elements
 */
function showHideElements(response,hideId, showId){
	var showEle,hideEle=null;
	if(hideId)hideEle=document.getElementById(hideId);
	if(showId)showEle=document.getElementById(showId);	
	if(hideEle){hideEle.style.display='none';}
	if(showEle){
		showEle.style.display='inline';
		if(response)showEle.innerHTML=response;
	}	
	
}

function checkLogin(response){
	if(!response) return;
	if(response.indexOf('<div id="loginFtl"></div>') > -1){
		document.write(response);
	}
}

function toggleShow(id){
	var ele=document.getElementById(id);
	// alert('display:'+ele.style.display);
	if(ele)ele.style.display=(!ele.style.display || ele.style.display == 'none')? 'inline-block' : 'none';
}

function toggleOptions(txtid,id){
	var ele=document.getElementById(id);	
	// alert('display:'+ele.style.display);
	if(ele){
		ele.style.display=(!ele.style.display || ele.style.display == 'none')? 'inline-block' : 'none';
		if(ele.style.display!='none'){
			var cnodes=ele.getElementsByTagName('a');
			for(var i=0;i<cnodes.length;i++){
				//alert('name:'+cnodes[i].name);
				cnodes[i].onclick= Function('setSelectValue("'+txtid+'","'+cnodes[i].name+'")');//'javascript:document.getElementById("'+txtid+'").value=this.name';
				//cnodes[i].onclick();
			}
		}			
	}
}

function setSelectValue(txtid,val){
	var fld=document.getElementById(txtid);
	if(fld)fld.value=val;
}
 
function showProgressImg(){
	//var pr=document.getElementById('pleaseWait');
	//showOverLay();
	showOverLayForProgress();
	
	/*pr.style.left=((document.body.clientWidth - 225)/2)+"px";
	//pr.style.top=((document.body.clientHeight - 80)/2)+"px";
	pr.style.display='inline';*/	
}
function hideProgressImg(){
	//closeModal('pleaseWait');
	hideOverLayForProgress();
}
function setMessages(response){	
	return setErrorMessages(setEventMessages(response));
}

function setEventMessages(response){
	return displayMessages(response, 'eventMessages', 'eventList');	
}

function displayMessages(inStr, fromTag, outDiv){
	var msgDiv=document.getElementById(outDiv);	
	//alert(' fromTag:'+fromTag+' outDiv:'+outDiv);
	if(!msgDiv) return inStr;
	msgDiv.innerHTML='';
	if(inStr){
		var tagStr="<"+fromTag+">";
		var msgs=inStr.substring(inStr.indexOf(tagStr),inStr.indexOf("</"+fromTag+">"));
		msgs=msgs.replace(tagStr,'');
		if(msgs){
			//alert('msgs:'+msgs);
			msgDiv.innerHTML=msgs;
			inStr=inStr.replace(msgs,'');
			return inStr;
		}
	}
	return inStr;
}

function hasErrors(response){
	var errDiv=document.getElementById('errorList');
	if(!errDiv) return false;
	var errors=response.substring(response.indexOf("<errors>"),response.indexOf("</errors>"));
	if(!errors) return false;
	if(errors.length>0) return true;
	return false;
}

function setErrorMessages(response){
	return displayMessages(response, 'errors', 'errorList');
}
/* 
 *  Common util function to make AJAX call using YUI
*/
function makeAjaxCall(sUrl, changingDivID, formId) {
	var formObject = null;
	if(formId != null) {
		formObject = document.getElementById(formId);
	}
	var callback = {
		success: function(o) {
			hideProgressImg();
			document.getElementById(changingDivID).innerHTML =  o.responseText;
		},
		failure: function(o) {
			hideProgressImg();
			alert("AJAX doesn’t work, tId:" +o.tId+"  Status:"+o.status + " statusText: "+o.statusText+"  "); 
		}
	} 
	if(formObject != null){
		YAHOO.util.Connect.setForm(formObject);
	}
	showProgressImg();
	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, null);
}

       

function emtySearchCheck(searchBoxId, searchForm){
	var strSearchValue = trim(searchBoxId.value);

	if( strSearchValue == "" ){
		alert("Please Enter Search Value");
	}else{
		showProgressImg();
		searchForm.submit();
	}
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


		  
		  function searchFor(strSearch){
				 

			     document.getElementById('searchBoxId').value = strSearch;

			    document.getElementById('searchForm').submit();

			}
 
		/*
		 *  Function Name:showModalDialog
		 *  Purpose: clears the error Div when we open a modal Window
		 * 
		 * */
		  function showModalDialog(windowId){
          	 if(document.getElementById('errorDiv')){
			  document.getElementById('errorDiv').innerHTML="";
			  }
			  showModalWindow(windowId);
			  }	 

			/*
			 *  Function Name:closeModalDialog
			 *  Purpose: reset the form when ever  we close a modal Window
			 * 
			 * */ 
		  
		  function closeModalDialog(windowId){
			  document.AddtoWallet.reset();
			  closeModal(windowId);
			  }
		  /*
		   * open new window.
		   */
		  function popupWindow(urllink) {
			      var myWindow = window.open(urllink,'_blank','resizable=yes,menubar=no, scrollbars=yes, width=1024');
			      myWindow.focus();
			  }