function goToUrl(url){
	if($('_isLogged') != null && $('_isLogged').innerHTML == 'false'){
		$('historyURL').value = url;
		//alert(i18n("Please_Login_First."));
		getLoginForm(path + '/faces/tiles/components/loginForm.jsp');
		return false;
	}
	else{		
		window.location = url;
	}
}

function openDiv(divName,evt){
	//alert(evt.screenX+'=====DDDDDD======='+evt.screenY+'...............'+window.scrollY);
	$(divName).style.display = "block";
	//$(divName).style.top = $('footerLinkDiv').offsetTop+"px";
	//$(divName).style.left = $('footerLinkDiv').offsetLeft+"px";	
	$(divName).style.top = document.body.scrollTop+"px";
	$(divName).style.left = "20%";	

}
function getXY(oElement,pos)
{
	var iReturnValue = 0;
	while( oElement != null ) {
		if(pos == 'top'){
			iReturnValue += oElement.offsetTop;	
		}
		else if(pos == 'left'){
			iReturnValue += oElement.offsetLeft;	
		}
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function submitForm(evt,formId){
	var charCode = (evt.which) ? evt.which : evt.keyCode;
	if (charCode == 13 ){
		$(formId).click();
		return false;
	}
}

function setErrorInCss(divObj,errMsg){
	var errorDivLeft = "";
	var errorDivObj = $('error_Css_Div');
	errorDivObj.innerHTML = "";
	//errorDivObj.style.display = "block";
	divShowHide('error_Css_Div','showit');
	var errorDivWidth = errorDivObj.offsetWidth;
	var XX = getXY(divObj,'left');
	var YY = getXY(divObj,'top');
	var screenWidth = document.body.clientWidth;
	var size = (XX + divObj.offsetWidth + errorDivWidth);

	if(size < screenWidth){
		errorDivLeft =  XX + divObj.offsetWidth;//Show error message at left hand side of the component.
	}
	else{
		errorDivLeft =  XX;//Show error message on the component.
	}

	errorDivObj.style.left= errorDivLeft +"px";
	errorDivObj.style.top = YY+"px";
	
	errorDivObj.innerHTML = errMsg;
	setTimeout("resetErrorCssDiv()",3000);
}
function resetErrorCssDiv(){
	divShowHide('error_Css_Div' ,'hideit');
	//$('error_Css_Div').style.display = "none";
}

function addressPopUp(sclrfnum){
	var url = path + "/faces/tiles/components/checkout/billingShippingAddress.jsp?multiAddress=Y&cartId="+sclrfnum;
	window.open( url,'multiAddr','left=300,top=100,width=380,height=450');
}
function divShowHide(divName,act)
{
//	alert("11		"+act);
	if (act == "showit")
	{document.getElementById(divName).style.display = "block";
			if(navigator.appName == "Microsoft Internet Explorer")
			{
				var divNode = document.getElementById(divName);
				divNode.insertAdjacentHTML("afterEnd", '<IFRAME frameBorder="10" scrolling="no" id="_hvrShm" name="_hvrShm" style="position:absolute; z-index:5; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=10); " />'); 
				var iframeShm = document.getElementById("_hvrShm");
				iframeShm.style.top = divNode.offsetTop; 
				iframeShm.style.left = divNode.offsetLeft; 
				iframeShm.style.width = divNode.offsetWidth; 
				iframeShm.style.height = divNode.offsetHeight;
			}
	}
	else if (act == "hideit")
	{
			
			document.getElementById(divName).style.display = "none";	
		//	alert("sam		"+document.getElementById("_hvrShm"));
			if(document.getElementById('_hvrShm')!=null)
				while((el=document.getElementsByName('_hvrShm')).length!=0){el[0].parentNode.removeChild(el[0]);}
	}
}



function topMenuShowHide(divId,act){
	var lft;
	var top;
	if($(divId)!= null){
		$(divId).style.display = "none";
		if (act == "show")
		{
			$(divId).style.left=zxcPos(this)[0]+lft+'px';
			$(divId).style.top=zxcPos(this)[1]+top+'px';
			$(divId).style.display = "block";
			
		}
		else if (act == "hide")
		{
			$(divId).style.display = "none";
		}
	}
}
function zxcPos(obj){
	var rtn=[obj.offsetLeft,obj.offsetTop];
	while(obj.offsetParent!=null){
	var objp=obj.offsetParent;
	 rtn[0]+=objp.offsetLeft-objp.scrollLeft;
	 rtn[1]+=objp.offsetTop-objp.scrollTop;
	 obj=objp;
}
return rtn;
} 

function checkLoginIdPwd(formId){
	var logId = document.forms[formId].elements['loginId'];
	var pwd = document.forms[formId].elements['password'];
	if(logId.value==''){
		alert(i18n("Please_enter_User_Id."));
		logId.focus();
		return false;
	}else{
		if(!checkEmail(logId.value)){
			alert(i18n("Please_enter_Valid_User_Id."));
			return false;
		}
	}
	if(pwd.value==''){
		alert(i18n("Please_enter_Password."));
		pwd.focus();
		return false;
	}else{
		if(!validatePassword(pwd.value)){
			alert(i18n("Please_enter_Valid_Password."));
			pwd.focus();
			return false;
		}
	}
	return true;
}
/*Inside Header used function*/
function getLoginForm(pageUrl){
	/*try{
		var myAjax = new Ajax.Request(pageUrl ,{onSuccess:showLoginForm});
	}catch(err){alert(err.message);}*/
	showSlow1('home-top-loginForm',200);
	 location.href="#top";
	$('loginId').focus();
}
function showLoginForm(transport){
	try{
		$('login').innerHTML = transport.responseText ;
		divShowHide('login','showit');
	}catch(err){alert(err.message);}
	
}
function isValidForm(){
	if($('loginId').value == ''){
		setErrorInCss($('loginId'),i18n("Please_enter_loginId."));
		$('loginId').focus();
		return false;
	}
	else if($('password').value == ''){
		setErrorInCss($('password'),i18n("Please_enter_loginId."));
		$('password').focus();
		return false;
	}else{return true};

}
function loginSubmit(){
	if(isValidForm()){
	$('loginForm').request({
	  //onComplete: function(transport){ $('login').innerHTML = transport.responseText ;},
	  onSuccess : succssfulLogin,
	  onFailure:function(){alert(i18n("Oops_Error."));}
	});
	}
}
function succssfulLogin(transport){
	if(200 == transport.status){
		var resp = transport.responseText;
		if(resp != ''){
			resp = resp.replace(/ /g,'');
			if(resp.indexOf('>true<')== -1){
				alert(i18n("Please_Enter_Valid_User_Id_And_Password"));
				setTimeout(showSlow1('home-top-loginForm',200),1000);
				return false;
			}
			else{
				if($('user-login-top')!= null){		
					var url = path + "/faces/tiles/components/loginForm.jsp";
					try{
						var myAjax = new Ajax.Updater('user-login-top',url, 
						{
							method: 'GET',
							onSuccess : updateShoppingCart,
							onFailure:handleFail
						});
					}
					catch(err){
						alert(err.message);
					}
				}
			}
		}
	}
}
function updateShoppingCart(){
	
	var updatableDiv = null;
	var url = null;
	
	if($('shoppingCartItemsDiv') != null){
		updatableDiv = 'shoppingCartItemsDiv';
		url = path + "/faces/tiles/components/checkout/shoppingCartItemsComponent.jsp";
	}
	if($('minishoppingcart')!= null){
		updatableDiv = 'minishoppingcart';
		url = path + "/faces/tiles/components/product/miniShoppingCart.jsp";
	}
	if(updatableDiv != null)
	{
		try{ 
		var params = {'invoke:action':'ShoppingCartActionBean.shoppingCartItemsComponent_init'};
		var myAjax = new Ajax.Updater(updatableDiv, 
						url, 
						{
							method: 'GET', 
							parameters: params,
							onFailure:handleFail
						});
		}catch(err){alert(err.message);}
	}
	updateFavouriteItemDIV();
	updateShoppingHeadPage();
}
/**
	Single Favourite Item Display In Header
**/
function updateFavouriteItemDIV(){
	if($('user-favourite-top')!= null){		
		var url = path + "/faces/jsp/favourite.jsp";
		try{
			var myAjax = new Ajax.Updater('user-favourite-top',url, 
			{
				method: 'GET',
				onSuccess : openFavouriteDiv,
				onFailure:handleFail
			});
		}
		catch(err){
			alert(err.message);
		}
	}
}
function openFavouriteDiv(transport){
	if(200 == transport.status){
		location.href="#top";
	}
}
/**
	All Favourite Item Display On favouriteList Page
**/
function updateShoppingHeadPage(){
	if($('shopping-cart-div')!= null){
		var url = path + "/faces/jsp/shoppingHead.jsp";
		try{
			var myAjax = new Ajax.Updater('shopping-cart-div',url, 
			{
				method: 'GET',
				onFailure:handleFail
			});
		}
		catch(err){
			alert(err.message);
		}
	}
}
function handleFail(){
	alert(i18n("Oops_Error."));
}
function hideLoginForm (pageUrl,userFName,quanty){
	try{
		if((userFName != null && userFName != 'undefined' && userFName != 'null' ) && userFName.length > 1){
			var welcomeText = i18n("Welcome_User");
			var signoutText = i18n("Signout_User");
			$('sign_in_out').innerHTML = ''+welcomeText+' <b>'+userFName+'!</b> | <a href="'+pageUrl+'">'+signoutText+'</a>';
		//	$('sign_in_out').innerHTML = '<a href="'+path+'/faces/jsp/shoppingCart.jsp" title="Shopping Cart">Shopping Cart('+quanty+')</a>  | <a href="'+pageUrl+'">Sign Out</a>[Welcome '+userFName+'!]';
			if($('_isLogged') != null && $('_isLogged').innerHTML == 'false')
				$('_isLogged').innerHTML="true";	
			updateShoppingCart();
			var historyURL = $('historyURL').value;
			if(historyURL != null && historyURL != ''){
				$('historyURL').value = '';
				window.location = historyURL;
			}
		}
	}catch(err){alert(err.message);}
	divShowHide('login','hideit');
}
/*Inside Header used end*/
Ajax.Responders.register({
  onCreate: showProcessing,
  onComplete: hideProcessing
});

function showProcessing() {
  if(Ajax.activeRequestCount > 0)
    //$('loading').style.display = 'block';
	divShowHide('loading','showit');
}

function hideProcessing () {
  if(Ajax.activeRequestCount <= 0)
    //$('loading').style.display = 'none'; 
	divShowHide('loading','hideit');
}
Ajax.Responders.register({
  onCreate: showProcessing,
  onComplete: hideProcessing
});

function subscribeNewsLetter(){
	var email = document.getElementById("newsLetteremail").value;
	var url = path+"/faces/jsp/subscribeNewletter.jsp";
	if(checkEmail(email)){
		var myAjax = new Ajax.Updater('newsLetterResponse',url, 
		{
			method: 'Get', 
			parameters:{'email':email,'invoke:action':'MyEventActionBean.subscribeNewsLetter'},
			onSuccess : succssSubscribeNewsLetter,
			onFailure:handleFail
		});
	}
	else{
		setErrorInCss($('subscribeLetterDiv'),i18n("Please_enter_valid_email_id."));
	}
}
function succssSubscribeNewsLetter(transport){
	//alert(transport.responseText);
	if(200 == transport.status){
		$('newsLetteremail').value="";
		setErrorInCss($('newsLetteremail'),transport.responseText);		
	}
}
/*function subscribe(){
alert("good");return false;
	$('error').innerHTML = "";
	var sub = false;
	if($F('subs'))
		sub = 'true';
	if($F('email')){
		var valid = new Validator().isValidEmail($F('email'));
		var url = '../faces/tiles/templates/defaultSubscribeBody.jsp';
		if( valid ){
			if(!document.getElementById("subs").checked){
				document.getElementById("subs").focus();
				alert(i18n("Please_mark_on_checkbox_for_newsletter_subscription."));
				return false;
			}
			new Ajax.Updater('subscription',url,
			{
				method: 'GET', 
				parameters:{'email':$F('email'),'subs':sub,'invoke:action':$F('action')}
			});
		}
		else{
			$('error').innerHTML = "Please enter the valid email id.";
			return false;
		}
	}
	else{
		$('error').innerHTML = "Please enter the email id.";
		return false;
	}
	return true;
}
*/
function resetCountry(){
			document.getElementById('myForm:country').options.selectedIndex=0;
		}
function setDefinedGcValues(currentRadioObj,gcquantity,gcvalue){
	var gcRadioButtons = $('gcfrm').getInputs('radio', 'gcChkOutRadio');
	for(var i=0;i<gcRadioButtons.length;i++){
		gcRadioButtons[i].checked = false;
	}	
	$("gcqty").value = "";
	$("gcval").value = "";
	currentRadioObj.checked = true;
	$("itemqty").value = gcquantity;
	$("inrMrpPrice").value = gcvalue;
}
function checkoutGcProduct(){
	var qty = $("itemqty").value;
	var gcvalue = $("inrMrpPrice").value;
	if(qty == '' && gcvalue == ''){
		qty = $("gcqty").value;
		gcvalue = $("gcval").value;
	}
	if(qty == '' || gcvalue==''){
		setErrorInCss($('itemqty'),i18n("Please_enter_quantity_and_amount_or_select_predefined_gift_coupon."));
		$('itemqty').focus();
		return false;
	}
	else{
		 $("itemqty").value = qty;
		 $("inrMrpPrice").value = gcvalue;
	}
}

function trackOrderValidation(formId){

    var trackOrder = document.forms[formId].elements['trackOrder'];
	var trackOption = document.forms[formId].elements['trackOption'];
	if(trackOrder.value==''){       
	   setErrorInCss(trackOrder,i18n("Please_Enter_Track_Order_No"));
		trackOrder.focus();
		return false;
	}   
	if(!numericCharWithoutSpace(trackOrder.value)){				
		setErrorInCss(trackOrder,i18n("Please_enter_Only_Numeric_characters."));
		trackOrder.focus();
		return false;
	}
	/*
	if(trackOption[0].checked==false && trackOption[1].checked==false){
		setErrorInCss(trackOption[0],i18n("Please_select_radio_button."));
		trackOption[0].focus();
		return false;
	}
	if(trackOption[0].checked==true){
         if(!numericCharWithoutSpace(trackOrder.value)){
				//alert("Please Enter Valid Email ID");
				setErrorInCss(trackOption[0],i18n("Please_enter_Only_Numeric_characters."));
				trackOrder.focus();
				return false;
			}
	}
	if(trackOption[1].checked==true){
         if(!checkEmail(trackOrder.value)){
				//alert("Please Enter Valid Email ID");
				setErrorInCss(trackOrder,i18n("Please_enter_valid_email_id."));
				trackOrder.focus();
				return false;
			}
	}
	*/
  return true;
}

//moved this function into storeLocatorMap.js
/*function storeLocatorValidation(formId){

	var storeResultsDiv = document.getElementById('storeResultsDiv');
	var	storeInfoDiv = document.getElementById('storeInfoDiv');
	
	storeResultsDiv.style.display = "block";
	storeInfoDiv.style.display = "none";
	var cityId = document.forms[formId].elements['city'];
	var stateId = document.forms[formId].elements['state'];
    document.getElementById('mystate').value = stateId.value;
	document.getElementById('mycity').value = cityId.value;
	document.getElementById("myshopcode").value='';
   if(stateId.value == "" || cityId.value == ""){
	   alert(i18n("Please_select_state_and_city"));
       return false;
   }

   try{
			
			var url = path+"/faces/jsp/storeLocateAddress.jsp";
			var params = null;
			
				params = {'invoke:action': 'StoreLocatorActionBean.locateAddress', 'cityId':cityId.value,  'stateId':stateId.value};
			
			
			var myAjax = new Ajax.Updater(
				'storeResultsDiv', 
				url, 
				{
					method: 'GET', 
					parameters: params,
					onSuccess : showStoreMapPage,
					
				});
		}catch(exception){
			alert(exception.message);
		}
		
		
}

function showStoreMapPage(transport){
	if(200 == transport.status){
		//alert('calling');
		loadMapContent('map');
	}	
}*/

function openLocatorAddress(formId){

   var selectedCity = document.forms[formId].elements['city'].value; 
   window.open('storeLocateAddress.jsp?cityId='+selectedCity,'welcome','width=1000,height=210,left=10px,top=300px;');

}
function validateLoginId() {

	var loginIdval = document.getElementById('forgotloginID').value;
	
	if(loginIdval.length==0){
		alert(i18n("Please_enter_User_Id."));
		document.getElementById('forgotloginID').focus();
		return false;
	}
	else{
		if(!checkEmail(loginIdval)){
			alert(i18n("Please_enter_Valid_User_Id."));
			document.getElementById('forgotloginID').focus();
			return false;
		}
	} 
	return true;
}

function getContextPath(){

	var pathname = window.location.pathname;
	var contextPath = pathname.substring( 0, pathname.indexOf("/faces"))+"/faces";
	return contextPath;
}


function showRegion(countryrfnum,localeDropDownObj){
    
	var XMLHttpRequestObject = getHTTPObject();
	var url = getContextPath()+"/faces/jsp/locales.jsp?gotrfnum="+countryrfnum;
    
	
	if(XMLHttpRequestObject){
				XMLHttpRequestObject.open("GET", url,true);
				XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				XMLHttpRequestObject.onreadystatechange = function (){
					if (XMLHttpRequestObject.readyState == 4 ){
						var buffer=XMLHttpRequestObject.responseText;
						
						removeAllOptions(localeDropDownObj);
						filldropDown(localeDropDownObj,buffer);						
					}
				};
				XMLHttpRequestObject.send(null);
			}else{
				alert(i18n("Error_while_changing_region"));
			}
}

function getHTTPObject(){
	var xmlHttp;
	try {
		xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
	}catch (e) {
		try	{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");// Internet Explorer
		}catch (e){
			try	{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert(i18n("Your_browser_does_not_support_AJAX"));
				xmlHttp=false;
			}
		}
	}
	return xmlHttp;
}

function removeAllOptions(selectbox){
	for (var count = selectbox.options.length ; count >= 1 ; count--){
		selectbox.remove(count);
	}
}

function addOption(selectbox,text,value ){
	var len = 0 ;
	if(selectbox.options.length)
		len = selectbox.options.length++;
	selectbox.options[len] = new Option(text,value);
}

function filldropDown(dropDownObject,buffer){
	//addOption(dropDownObject,"--Please Select--","");
	if(buffer!=""){
		var finalBuffer = buffer;
		var keyValuePair= finalBuffer.split(',');
		for(var i=0; i< keyValuePair.length;i++){
			var keyValue = keyValuePair[i].split(':');
			if(keyValue.length == 2){
				addOption(dropDownObject,keyValue[0],keyValue[1]);
			}
		}
	}
	
}




function removeParameters(queryParameters){

 
   var parameters = queryParameters.split("&");
		

		for(var i=0;i < parameters.length;i++){
			
			 if(parameters[i].indexOf("orgId") > -1 || parameters[i].indexOf("lang") > -1 || parameters[i].indexOf("k=1") > -1 || parameters[i].indexOf("1=1") > -1){
				 
				 queryParameters = queryParameters.replace("&"+parameters[i],"");
				
			} 
		}

           parameters =  queryParameters.split("&");
		for(var i=0;i < parameters.length;i++){
			if(parameters[i].indexOf("k=1") > -1 || parameters[i].indexOf("1=1") > -1){
               queryParameters = queryParameters.replace(parameters[i],"");
			}
		}


		if(queryParameters == ""){
			
			return queryParameters;
		}
		if(queryParameters != ""){
			
			if(queryParameters.charAt(0) == '&'){
				queryParameters = queryParameters.substring(1,queryParameters.length);
			}
		}
        
		return queryParameters;

}

function setRandomNum(){
	var randomnum = randGeneration();
	//document.getElementById("generatedText").value = randomnum;
	document.getElementById("generatedText").innerHTML = randomnum;
}

function randGeneration(){

	var characterPool= new Array();
	characterPool= ["A", "B", "C", "D", "E", "F", "G", "H","I", "J", "K", "L",  
					"M", "N", "O", "P", "Q", "R", "S", "T","U", "V", "W", "X",
					"Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m",
					"n","o","p","q","r","s","t","u","v","w","x","y","z","1", "2", 
					"3", "4", "5", "6", "7", "8", "9", "0"];
	var randomnum = "";
	for (var i = 1; i < 5 ; i++){
		var randSeed = Math.round((characterPool.length - 2) * Math.random()) + 1;
		randomnum = randomnum + characterPool[randSeed ];
	}
	return randomnum;
}


function addToFavouriteCart(productID,catalogueID){
	var url = path+'/faces/jsp/favourite.jsp';
	var params = null;
	params =  {'invoke:action':'BuyerMainNavigationActionBean.addToFavoriteCartAction','productID':productID,'catalogueID':catalogueID};
	
	var myAjax = new Ajax.Updater('favourite',url,
	{
		method: 'GET',	
		parameters: params,
		onSuccess : updateFavouriteDivs,
		onFailure:handleFail
	});
}

function updateFavouriteDivs(transport){
	if(transport.status == 200){
		updateFavouriteItemDIV();
		updateShoppingHeadPage();
	}
}

