var needToConfirm=false;
window.onbeforeunload=confirmExit;
if (needToConfirm==true){
	needToConfirm=false; 
}
function setConfirmFalse(){
	needToConfirm=false; 
}
function setConfirmTrue(){
	needToConfirm=true;
}
function confirmExit(){
	if (needToConfirm){
		return "Changes will be lost if you don't click on the 'Save'-button";
	}
}
function submitResultForm(nexturl){
	window.location=nexturl;
}
function jsescape(text) {
	return text.replace("\"", "\\\"").replace("\\", "\\\\").replace("\'", "\\\'").replace("\'", "\\\'")
}
function validEmail(email) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=email.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null) {
	    return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return false
		    }
	    }
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	    return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>6) {
	   return false
	}

	if (len<2) {
	   return false
	}
	return true;
}
function reloadpage() {
	var reloadUrl=new lzUrl(window.location.href);
	var newUrl=reloadUrl.getUrlWithout(["pageopt","s_kwcid","pid","email","password","refresh","logout","postValue"]);
	window.location=newUrl+(newUrl.indexOf("?")>0?"&":"?")+"refresh="+new Date().getTime();
}
function getUrlWithout(avoidArray) {
	var defaultAvoidArray=["pageopt","s_kwcid","pid","email","password","refresh","logout"];
	var reloadUrl=new lzUrl(window.location.href);
	return newUrl=reloadUrl.getUrlWithout(avoidArray.concat(defaultAvoidArray));
}
function appendOfferViewedTracking() {
/*	var div = document.createElement('span');
	div.innerHTML='<img width="1" height="1" src="http://pixel1655.everesttech.net/1655/p?ev_offersviewed=1" alt="Offer Viewed Tracking" />';
	document.body.appendChild(div);*/
}
function showOrHideByCookie(showclass, hideclass) {
	if ( CookieChecker.isCookieEnabled() ) {
		$(showclass).show();
		$(hideclass).hide();
	} else {
		$(showclass).hide();
		$(hideclass).show();
	}
}
function getRetailerCode(retailerName) {
	if (retailerName) {
		var result = retailerCodeMap[retailerName.toLowerCase()];
		if (!result) {
			result = retailerName;
		}
		return result;
	} else {
		return null;
	}
}
function getSProductValue(offerId, retailerName, catalogueId) {
	if (offerId == null) {
		offerId = "";
	}
	if (retailerName == null) {
		retailerName = "";
	}
//	var maxLength = 150 - (";"+";;;event11=1;evar22=|evar28=").length;
	retailerName = getRetailerCode(unescapeHTML(retailerName));
	retailerName = retailerName.replace(",", "").replace(";", "").replace("|", "");
//	offerName = offerName.replace(",", "").replace(";", "").replace("|", "");
//	offerName = getFixLengthString(offerName, 25);
//	catalogueName = removeSubStringEndWith(catalogueName, "atalogue - ");
//	catalogueName = catalogueName.replace(",", "").replace(";", "").replace("|", "");
//	catalogueName = getFixLengthString(catalogueName, 10);	
	catalogueId = catalogueId+"";
//	if (offerName.length + retailerName.length + catalogueId.length > maxLength) {
//		if (retailerName.length + catalogueId.length < maxLength - 10) {
//			offerName = offerName.substring(0, maxLength
//					- retailerName.length - catalogueId.length);
//		} else {
//			offerName = offerName.substring(0, maxLength / 3);
//			retailerName = retailerName.substring(0, maxLength / 3);
//			catalogueId = catalogueId.substring(0, maxLength / 3);
//		}
//	}
	return ";" + offerId + ";;;;evar22=" + retailerName+"|evar28="+ catalogueId;
}
function googleMapUnload() {
	try{GUnload()}catch(e){}
}
function autoFadeOut(node, duration) {
	if (!duration) {
		duration == 2000;
	}
	setTimeout(function(){autoFadeOutExecuteEvent(node)},duration);
}
function createHintNode(hint, isSuccessful, prefix, suffix) {
	var childNode = document.createElement("span");
	childNode.className="fadeouthint fadeouthint-"+(isSuccessful?"success":"error");
	childNode.innerHTML=getNotNullString(prefix, "<strong class=\""+(isSuccessful?"success":"error")+"\">"+hint+"</strong>", suffix);
	return childNode;
}
function autoFadeOutExecuteEvent(node) {
	$(node).fadeOut(1000, function () {
			$(this).remove();
		});
}
function ajaxSubmitProgressPopup(callback) {
	$("#popup_change_password").fadeOut(400, function () {
		$("#popup_change_password").html("<span id='image-preview-loading'></span>");
		$("#popup_change_password").fadeIn(1000);
		callback();
	});
}
var confirmModalCallBack=null;
var confirmModalParameter=null;
function showCofirmModelPopup(title, info, callback, parameter) {
	$.modal.close();
	$("#comfirmTitleShowHere").html(title?title:"");
	$("#comfirmInfoShowHere").html(info?info:"");
	showModalPopup("popup_confirm");
	confirmModalCallBack=callback;
	confirmModalParameter=parameter;
}
function showResultInModalPopup(hint) {
	$.modal.close();
	$("#informationShowHere").html(hint);
	showModalPopup("popup_information");
}
function getSProductValueFromPageMap(pagenumber, size, retailerName, catalogueId) {
	if (pagenumber == 1 && size == 2) {
		size = 1;
	}
	retailerName = getRetailerCode(unescapeHTML(retailerName));
	retailerName = retailerName.replace(",", "").replace(";", "").replace("|", "");	
	var result = "";
	var counter = 1;
	for (var i=0;i<size;i++) {
		var mapTags = document.getElementsByTagName("map");
		var map = null;
		if (mapTags!=null) {
			for (var ll=0;ll<mapTags.length;ll++) {
				if (mapTags[ll].name=="PageMap"+(pagenumber+i)) {
					map=mapTags[ll];
					break;
				}
			}
		}
		if (map !== null) {
			var areas = map.getElementsByTagName("area");
			if (areas != null) {
				for (var j=0; j<areas.length; j++) {
					if (counter>1) {
						result+=",";
					}
//					var offerName = areas[j].alt.replace(",", "").replace(";", "").replace("|", "");
//					offerName = getFixLengthString(offerName, 25);					
//					result+=";"+areas[j].id.replace(/\D/g,"")+";;;event23="+counter+";evar22="+retailerName+"|evar28="+catalogueId;
					result+=";"+areas[j].id.replace(/\D/g,"")+";;;;evar22="+retailerName+"|evar28="+catalogueId;
					counter++; 
				}
			}
		}
	}
	return result;
}
function removeSubStringEndWith(text, sub) {
	var pos = text.indexOf(sub); 
	if (pos>0) { 
		text = text.substring(pos+sub.length, text.length);
	}
	return text;
}
function getFixLengthString(string, maxlength) {
	if (string === null) {
		return "";
	} if (string.length > maxlength) {
		return string.substring(0, maxlength);
	} else {
		return string;
	}
}
function getNotNullString(prefix, text, subfix) {
	var result = text;
	if (text&&result.length>0) {
		if (prefix && prefix.length>0) {
			result=prefix+result;
		}
		if (subfix && subfix.length>0) {
			result+=subfix;
		}
	}
	return text?result:"";
}
function checkProdViewEvent() {
//	if (s.products&&s.products.length>0) {
//		s.events=getNotNullString(null,s.events,",")+"prodView";
//	}
}
function doCategorySearch(searchId) {
	var f = document.getElementById("endcasearch");
	if(f) {
		f.CategoryId.value=searchId;
		f.submit();
	} else {
		alert("Search form must be enabled");
	}
	return false;
}
function doCategoryDimSearch(searchDimId) {
	var f = document.getElementById("endcasearch");
	if(f) {
		f.CategoryDimId.value=searchDimId;
		f.submit();
	} else {
		alert("Search form must be enabled");
	}
}
function doCatalogueSearch(searchId) {
	var f = document.getElementById("endcasearch");
	if(f) {
		f.CatalogueID.value=searchId;
		f.submit();
	} else {
		alert("Search form must be enabled");
	}
}
function encodeHtml(text) {
	encodedHtml = text;
	encodedHtml = encodedHtml.replace(/&/g,"&amp;");
	encodedHtml = encodedHtml.replace(/\//g,"&#47;");
	encodedHtml = encodedHtml.replace(/\\/g,"&#92;");
	encodedHtml = encodedHtml.replace(/\ /g,"&#32;");
	encodedHtml = encodedHtml.replace(/\</g,"&lt;");
	encodedHtml = encodedHtml.replace(/\>/g,"&gt;");
	encodedHtml = encodedHtml.replace(/\"/g,"&quot;");
	return encodedHtml;
}
function unescapeHTML(html) {
	var htmlNode = document.createElement("DIV");
	htmlNode.innerHTML = html;
	if(htmlNode.innerText) {
		return htmlNode.innerText; // IE
	} else {
		return htmlNode.textContent; // FF
	}
} 
function isNumeric(value) {
	return value.toString().match(/^[-]?\d*\.?\d*$/); 
}
function removeAllChildren(field) {
	while( field.childNodes[0]) { 
		field.removeChild( field.childNodes[0] ); 
	}	
}
function setMediaNormalHtml(normalHtml, enlargeHtml, flashversion, noexisttext,idsubfix,enlargeSize) {
	var flashOK = true;
	if (flashversion!=null &&flashversion.length>0) {
		flashOK = eval("detectFlashVer("+flashversion+")");
	}
	if (flashOK) {
		$("#normalEmbedobject_"+idsubfix).html("<div class='embedobject-container'>"+normalHtml+"</div>");
		$("#enlargePlayButton_"+idsubfix).show();
		eval("embedOfferenImage_"+idsubfix+"=\""+enlargeSize+"||"+enlargeHtml.replace(/\"/g,"'")+"\";");
	} else {
		$("#normalEmbedobject_"+idsubfix).html(noexisttext);
		$(".enlargePlayButton_"+idsubfix).hide();
	}
	return flashOK;
}
function getFlashControlVersion() {
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version) {
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version) {
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version) {
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version) {
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	return version;
}
function GetSwfVer() {
	var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
	var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
	var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;		
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = getFlashControlVersion();
		if (flashVer!=-1) {
			var versionArray=flashVer.split(" ");
			if (versionArray.length >1) {
				flashVer = versionArray[1].replace(/,/g,".");
			}
		}
	}	
	return flashVer;
}
function detectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		var versionArray      = versionStr.split(".");
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
function fbshareclick(containerPath) {
	u=location.href;
	if (containerPath && containerPath.length>0) {
		u=containerPath;
	}
	t=document.title;
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
}
getElementsByClass=function(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null)
		node = document;
	var els = node.getElementsByTagName(tag==null?"*":tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (var i = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className) ) {
			classElements.push(els[i]);
		}
	}
	return classElements;
};
function getRetailerBuyNowLink(buyNowLink) {
	if (buyNowLink && G_retailerSession.valid) {
		var value=G_urlparameters.parameters.getParameter(G_retailerSession.key);
		if (value || value=="") { 
			for (var no in G_retailerSession.replaceList) {
				buyNowLink = buyNowLink.replace(G_retailerSession.replaceList[no].name,
						G_retailerSession.replaceList[no].value);
			}			
			if (G_retailerSession.mode=="parameter") {
				buyNowLink += (buyNowLink.indexOf("?")>=0 ? "&" : "?")+ escape(G_retailerSession.insertKey) + "="+ escape(value);
			} else if (G_retailerSession.mode=="uri") {
				var startPos = buyNowLink.indexOf("://");
				startPos = startPos < 0 ? 0 : startPos + "://".length;
				var endPos = buyNowLink.indexOf("?");
				endPos = endPos < 0 ? buyNowLink.length : endPos;
				var uri = buyNowLink.substring(startPos, endPos);
				var keyString = "/" + G_retailerSession.insertKey + "/";
				var insertSlash = false;
				var keyPos = uri.indexOf(keyString);
				if (keyPos < 0) {
					insertSlash = true;
					keyPos = uri.indexOf(keyString.substring(0, keyString.length - 1))==uri.length-keyString.length+1? uri.length : -1;
				} else {
					keyPos += keyString.length;
				}
				if (keyPos >= 0) {
					var builder=[];
					builder.push(buyNowLink.substring(0, startPos));
					builder.push(uri.substring(0, keyPos));
					if (insertSlash) {
						builder.push('/');
					}
					builder.push(escape(value));
					if (!insertSlash) {
						builder.push("/");
					}
					builder.push(uri.substring(keyPos));
					builder.push(buyNowLink.substring(endPos));
					buyNowLink = builder.join("");
				}
				if (G_retailerSession.replaceKey) {
					var replaceString = "/" + G_retailerSession.replaceKey + "/";
					if (buyNowLink.indexOf(replaceString)>=0) {
						buyNowLink = buyNowLink.replace(replaceString, "/" + escape(value) + "/");
					}
				}
			}
		}
	}
	return buyNowLink;
}
function containsWhiteSpace(text) {
	var containsWhiteSpaceTester=new RegExp(/^\s+$/);
	return text==null || text=="" || containsWhiteSpaceTester.test(text);
}
function trim(str, chars) {   
	return ltrim(rtrim(str, chars), chars);   
}   
function ltrim(str, chars) {   
	chars = chars || "\\s";   
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");   
}   
function rtrim(str, chars) {   
	chars = chars || "\\s";   
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");   
} 
function show(layerid) {
	if (document.all) {
		layerid.style.visibility="visible"
		return false;
	} else if(document.layers) {
		layerid.visibility="show"
		return false;
	}
} 
function hide(layerid){  
	if (document.all) { 
		layerid.style.visibility="hidden"
		return false;
	} else if(document.layers) {
		layerid.visibility="hide"
		return false;
	}
}
function getRuntimeParas() {
	var result=null;
	if (viewcontrol && (viewcontrol.viewNo===0 || viewcontrol.viewNo==1 || viewcontrol.viewNo==2)) {
		result=viewcontrol.getUrlParas();
	}
	return result;
}
function submitFinalTracking(omTracking) {
//	setOmUserCommonAttributes(omTracking, globalUserInfo);
	if (window.location.href.indexOf("debug=1")>0) {
		alert(omTracking.debug());
	}
	lzOminitureTools.submitRequest(omTracking, "actionName:N/A");	
}
function setEmailFriendProperties(itemName, refer) {
	var emailForm = document.emailForm;
	emailForm.productName.value=itemName;
	emailForm.refer.value=refer;
	document.emailTrackingForm.offerId.value=null;
}
function setEmailFriendTracking(retailerName, offerTitle, offerId, catalogueId) {
	var form = document.emailTrackingForm;
	form.retailerName.value=retailerName;
	form.offerTitle.value=offerTitle;
	form.offerId.value=offerId;
	form.catalogueId.value=catalogueId;
}
function getSubSProductList(products, maxproductnumber) {
	var submitproductlist = new Array();
	var agt=navigator.userAgent.toLowerCase();
	if (products.length>0 && (agt.indexOf("msie") != -1)) {
		var productitems=products.split(",");
		var submitNumber = parseInt((productitems.length+maxproductnumber-1)/maxproductnumber);
		for (var ii=0; ii<submitNumber; ii++) {
			var sproductline = "";
			for (var jj=0; jj<maxproductnumber; jj++) {
				var pos = ii*maxproductnumber+jj;
				if (pos<productitems.length) {
					if (sproductline.length>0) {
						sproductline+=",";
					}
					sproductline+=productitems[pos];
				} else {
					break;
				}
			}
			submitproductlist.push(sproductline);
		}
	} else {
		submitproductlist.push(products);
	}
	return submitproductlist;
}
function windowSizeProp() {
	this.width=0;
	this.height=0;
	this.scrollX=0;
	this.scrollY=0;
	this.scrollWidth=0;
	this.scrollHeight=0;
	this.debug=function() {
		alert("Width:"+this.width+"\n"+
		"Height:"+this.height+"\n"+
		"ScrollX:"+this.scrollX+"\n"+
		"ScrollY:"+this.scrollY+"\n"+
		"ScrollWidth:"+this.scrollWidth+"\n"+
		"ScrollHeight:"+this.scrollHeight+"\n");
	};
}
function getWindowSize() {
	var size = new windowSizeProp();
	// Window Size

	if (self.innerHeight) { // Everyone but IE
		size.width = window.innerWidth;
		size.height = window.innerHeight;
		size.scrollY = window.pageYOffset;
	} else if (document.documentElement && document.documentElement.clientHeight) { // IE6 Strict
		size.width = document.documentElement.clientWidth;
		size.height = document.documentElement.clientHeight;
		size.scrollX = document.documentElement.scrollLeft;
		size.scrollY = document.documentElement.scrollTop;
	} else if (document.body) { // Other IE, such as IE7
		size.width = document.body.clientWidth;
		size.height = document.body.clientHeight;
		size.scrollX = document.body.scrollLeft;
		size.scrollY = document.body.scrollTop;
	}

	// Page size w/offscreen areas

	if (window.innerHeight && window.scrollMaxY) {	
		size.scrollWidth = document.body.scrollWidth;
		size.scrollHeight = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight) { // All but Explorer Mac
		size.scrollWidth = document.body.scrollWidth;
		size.scrollHeight = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		size.srollWidth = document.body.offsetWidth;
		size.scrollHeight = document.body.offsetHeight;
	}
	if (size.scrollWidth===0) {
		size.scrollWidth=size.width;
	}
	return size;
};
// login/view	-- see lasoo/share.js
function loginvalidate(){
	var email=document.getElementById("loginEmail").value;
	var password=document.getElementById("loginPassword").value;
	var valid = true;
	var message="";
	if (email==""){
		message="Please enter email address"+"\n";
		valid = false;
	}else if (!validEmail(email)){
		message="Please enter valid email address"+"\n";
		valid = false;
	}
	if (password==""){
		message=message + "Please enter password";
		valid = false;
	}
	if(!valid){
		alert(message);
		setLoginCaption();
	}else{
		// UserCheckerFormOptions.SEPARATOR
		FormOptionsProvider.getFirstMatch("userchecker", 
				email+"@#"+password, function(data){
			if (data == "true" || data == "TRUE") {
				setLoginCaption();
				document.getElementById("login").submit();
			} else {
				document.getElementById("loginhead").innerHTML = "Login Error";
				document.getElementById("logintext").innerHTML = "";
				document.getElementById("loginerror").innerHTML = "Your username or password was not recognised. Please try again";
				//Message.getMessage("user.login.error");
			}
		});
	}
	return valid;
}
function initLoginForm() {
	setLoginCaption();
	var form = document.getElementById("login");
	form.email.value="";
	form.password.value="";
}
function setLoginCaption() {
	document.getElementById("loginhead").innerHTML = "Already a member?";
	document.getElementById("logintext").innerHTML = "Login here:";
	document.getElementById("loginerror").innerHTML = "";
}
function forgottenPasswordSubmit(){
	var email=document.getElementById("loginEmail").value;
	var valid = true;
	if (email==""){
		message="Please enter email address"+"\n";
		valid = false;
	}else if (!validEmail(email)){
		message="Please enter valid email address"+"\n";
		valid = false;
	}	
	if (!valid){
		alert(message);
		setLoginCaption();
    } else {
		FormOptionsProvider.getFirstMatch("forgottenpassword", email, function(data){
			if (data == "true" || data == "TRUE") {
				document.getElementById("loginhead").innerHTML = "Email sent";
				document.getElementById("logintext").innerHTML = "The new password has been sent to your email.";//Message.getMessage("user.password.emailsent");
				document.getElementById("loginerror").innerHTML = "";
			} else {
				document.getElementById("loginhead").innerHTML = "Error";
				document.getElementById("logintext").innerHTML = "";
				document.getElementById("loginerror").innerHTML = "The forgotten password hint email hasn't been sent, <br/>please make sure your email address is correct";//Message.getMessage("user.password.emailnosent");
			}
		});
	}
	return false;
}
// end of login/view
// common/search
function submitSearch(f) {
	if(containsWhiteSpace(f.Ntt.value)) {
		alert( "Please input a search term" );
		return false;
	}
	return true;
}
// end of common/search
// common/emailfriendpopup.js	- see lasoo/share.js
function isEmailFriendFilledOut(form){
//	var usernamevalue = form.username.value;
	var email = form.emailAddress.value;
	var userEmail = form.userEmailAddress.value;
//	var friendName = form.friendName.value;
//	var noteComments = form.comments.value;
}
function processEmailfriend(form, uri, paras) {
	var valid=true;
	var message="";
	var friendEmail = form.emailAddress.value;
	var friendName = form.friendName.value;
	var userName = form.username.value;
	var userEmail = form.userEmailAddress.value;
	var comments = form.comments.value;
//		message="Please enter Your Full Name \n";
//		message=message + "Please enter Your Friend's Name \n";
//		message=message + "Please enter message for Your Friend \n";
	if (!validEmail(userEmail)){
		message=message + "Please provide a valid email address for yourself!<br/>";
		valid=false;
	}
	if (!validEmail(friendEmail)){
		message=message+"Please provide a valid email address for your friend!<br/>";
		valid=false;
	}
	if(valid){
		requestString = "uri="+escape(uri)+"&paras="+escape(paras)+"&refer="+escape(form.refer.value)+"&userId="+escape(form.userId.value)
						+"&title="+encodeURIComponent(form.productName.value)+"&sdemail="+escape(userEmail)+"&sdname="+escape(userName)
						+"&reemail="+escape(friendEmail)+"&rename="+escape(friendName)+"&comments="+escape(comments); 
		FormOptionsProvider.getFirstMatch("emailfriend", requestString, function (data) {
			if (data!=null && data.length>1 && data.substring(0,1)=="p") {
				var trackingform = document.emailTrackingForm;
				if (trackingform.offerId.value && trackingform.offerId.value!='null') {
					omEmailFriendEvent(trackingform.retailerName.value,trackingform.offerTitle.value,trackingform.offerId.value,trackingform.catalogueId.value);
				} else {
					var omTracking=new lzOminiture();
					omTracking.setPageName(":email friend");
					omTracking.setChannel("email friend");
					omTracking.setOneToThreeValues("email friend",null);
					omTracking.setEVar(23, "email friend");
					omTracking.setHier1("home|email friend");
					omTracking.appendEvents("event22");
					submitFinalTracking(omTracking);	
				}
				showResultInModalPopup(data.substring(1));
			} else if (data.length>1) {
				var infoNode=createHintNode(data.substring(1), false);
				$(form).children(".emailFriendInfoText").append(infoNode);
				autoFadeOut(infoNode,10000);			
			}
		});
	}else{
		var infoNode=createHintNode(message, false);
		$(form).children(".emailFriendInfoText").append(infoNode);
		autoFadeOut(infoNode,10000);
	}
	return valid;
}
// end of common/emailfriendpopup.js
// common/addListPopup.jsp
function validateList(currentLink){
	var form = document.inputlistForm;
	var requestString = form.offerId.value + "@#"+ form.userId.value+ "@#";
    var name=form.newListName.value;
    var isNewList=form.isNewList.checked;
    if (isNewList) {
    	requestString = requestString + "true";
    }
    requestString = requestString + "@#"+name;
    var isAnyChecked=false; 
    valid = true;
    var message="";
    if(form.listIds!=null){
	    if (form.listIds.length!=null){
		    for (i = 0; i < form.listIds.length; i++){
		        if (form.listIds[i].checked==true){
		          isAnyChecked=true;
		          requestString = requestString + "@#"+ form.listIds[i].value;
		        }
		    }
		}else{
		   isAnyChecked=form.listIds.checked
		   if (form.listIds.checked) {
			requestString = requestString + "@#"+ form.listIds.value;
		   }
		}
	}
    if (!isAnyChecked&&!isNewList){
      alert("Please select one list at least!");
      valid = false;
    }
    if (name==""&&isNewList){
       alert("Please enter new list name");
       valid = false;
    }
    if(valid){
		FormOptionsProvider.getFirstMatch("wishlistadd", requestString, function (data) {
			window.location=currentLink+"#offerid:"+form.offerId.value;
		});
    }
    return valid;
}
// end of common/addListPopup.jsp
// common/alertPopup.jsp
function checkAndSubmitAlert(currentLink, locationFilter, baseLink){
	var form = document.inputAlertForm;
	var alertName = trim(form.name.value);
	if (alertName.length >0) {
		var requestString = encodeURIComponent(alertName)+"&"+escape(form.type.value)+"&"+escape(form.email.value)+"&"+escape(form.id.value)+"&"+escape(form.searchcriteria.value)+"&"+escape(locationFilter);	//.replace("+","%2B")
		FormOptionsProvider.getFirstMatch("alertadd", requestString, function (data) {
			if (data!=null && data.length>1 && data.substring(0,1)=="p") {
				omAddAlertEvent(form.type.value);
				showResultInModalPopup(data.substring(1));
			} else if (data.length>1) {
				var hint = data.substring(1);
				var loginPos = hint.indexOf("login");
				if (loginPos>0) {
					hint=hint.substring(0,loginPos)+"<a href='#' class='blue' onclick=\"showLoginPopup();return false;\">login</a>"+hint.substring(loginPos+"login".length);
				}
				var newNode=createHintNode(hint, false);
				$(".fadeouthint-error").hide();
				document.getElementById("alertInfoText").appendChild(newNode);
				autoFadeOut(newNode, 30000);
			}
		});
		return false;
	}else {
		var newNode=createHintNode('Please enter name of alert', false);
		$(".fadeouthint-error").hide();
		document.getElementById("alertInfoText").appendChild(newNode);
		autoFadeOut(newNode, 30000);
		return false;
	}
}
// end of common/alertPopup.jsp
// google map
function getGoogleMapMarkerIconByImage(image, shadow) {
	var markerIcon = new GIcon(G_DEFAULT_ICON);
	markerIcon.image = image;
	markerIcon.shadow = shadow;
	markerIcon.iconSize = new GSize(32, 37);
	markerIcon.shadowSize = new GSize(51, 37);
	markerIcon.iconAnchor = new GPoint(16, 35);
	markerIcon.infoWindowAnchor = new GPoint(16, 3);
	markerIcon.imageMap=[2,3,27,3,28,27,21,27,15,34,9,27,2,27,2,3];	
	return markerIcon;
}
function getGoogleMapManMakerIconByImage(image, shadow) {
	var markerIcon = new GIcon(G_DEFAULT_ICON);
	markerIcon.image = image;
	markerIcon.shadow = shadow;
	markerIcon.iconSize = new GSize(32, 32);
	markerIcon.shadowSize = new GSize(49, 32);
	markerIcon.iconAnchor = new GPoint(16, 32);
	markerIcon.infoWindowAnchor = new GPoint(16, 3);
	markerIcon.imageMap=[19,0,21,13,19,30,11,30,9,17,8,17,8,4,17,0];	
	return markerIcon;	
}
// end of google map
// street view	-- getCurrentMarkerLatLong()
function CStreetViewControl() {}
var streetViewControlCreated=false;
function createStreetViewControl() {
	if (!streetViewControlCreated) {
		streetViewControlCreated=true;
		CStreetViewControl.prototype = new GControl();
		CStreetViewControl.prototype.initialize = function(map) {
			var container = document.createElement("div");
			var streetViewBtn= document.createElement("div");
			streetViewBtn.title= "Open Street View";
			streetViewBtn.className= "GoogleMapButton";
			container.appendChild(streetViewBtn);
			var streetViewBtnText=document.createElement("div");
			streetViewBtnText.className="GoogleMapButton_text";
			streetViewBtn.appendChild(streetViewBtnText);
			streetViewBtnText.appendChild(document.createTextNode("Street View"));
			GEvent.addDomListener(streetViewBtn, "click", openStreetView);
			map.getContainer().appendChild(container);
			return container;
		}
		CStreetViewControl.prototype.getDefaultPosition = function() {
			return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(93,7));
		}
	}
}
function openStreetView() {
	var position = getCurrentMarkerLatLong();
	panoClient = new GStreetviewClient();
	panoClient.getNearestPanorama(position, function(panoData) {
		if (panoData.code==500) {
			showResultInModalPopup("Google server is not responding!");
			return;
		} else if (panoData.code==600) {
			showResultInModalPopup("No nearest street view found!");
			return;
		} else if (panoData.code!=200) {
			return;
		}
		var streetViewHeight=480;
		var streetViewWidth=700;
		var sizeProps=getWindowSize();
		var newNode=document.createElement("div");
		newNode.id="gStreetView";
		newNode.innerHTML=
		"<div onclick=\"removeStreetView();\" style=\"background-color:#000; opacity: 0.5; filter:alpha(opacity=50); height: 100%; width: 100%; position: fixed; left: 0pt; top: 0pt; z-index: 3000; display: block;\"></div>"+
		"<div id=\"modalContainer\" class=\"modalContainer\" style=\"margin-left:-300px;position: fixed; z-index: 3100; display: block;\">"+
		"<a class=\"modalCloseImg modalOverlay\" title=\"close\" onclick=\"removeStreetView();return false;\"></a>"+
		"<div name='pano' id='pano' style='display:block;width:"+streetViewWidth+"px; height:"+streetViewHeight+"px;'></div></div>";
		document.body.appendChild(newNode);
		var angle = GMap_computeAngle(position, panoData.location.latlng);
		panoramaOptions = { latlng:panoData.location.latlng, pov:{yaw: angle}};
		var myPano = new GStreetviewPanorama(document.getElementById("pano"), panoramaOptions);
		GEvent.addListener(myPano, "error", handleNoFlash);
	});
}
function removeStreetView() {
	$('#gStreetView').remove();
}
function handleNoFlash(errorCode) {
      if (errorCode == 603) {
        alert("Error: Flash doesn't appear to be supported by your browser");
        return;
      }
} 
// end of street view