function showImage(img,alt) {
    WinId = window.open('','Po','resizable=yes,toolbar=no,width=620,height=620');
    var Text = '';
    Text +="<html><head><title>"+alt+"</title></head><body style=\"overflow:hidden;\"><img src=\""+img+"\" border=\"0\" alt=\""+alt+"\"></body></html>";
    WinId.document.open();
    WinId.document.write(Text);
    WinId.document.close();
}

function IsBrowserNetscape()
{
	return (window.navigator.appName.toLowerCase().indexOf("netscape") > -1);
}

function IsBrowserIE()
{
	return (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1);
}

function TitleManipulation()
{
	var welcome = getElementByPartOfName('uniWelcome','div');
	var img = getElementByPartOfName('imgLogo','img');
	var workWidth = 0;
	var width = 0;
	var testWidth = 0; 
	if (null != welcome)
	{
		if(null != img)
			testWidth = img.getAttribute('width');
		if (document.all)
			width = document.body.clientWidth;	
		else
			width = window.innerWidth;
		workWidth = (width - 2*testWidth) - 6;
		if (workWidth <= 0) return;
	}
	if (null != img)
	{
		if (null != welcome)
		{
			if (document.all)
				width = document.body.clientWidth;	
			else
				width = window.innerWidth;
			if (workWidth <= 0) return;
			workWidth = width - 2*testWidth;
			welcome.style.marginRight = getElementByPartOfName('imgLogo','img').getAttribute('width');
			welcome.style.width = workWidth;
			if ( null != document.getElementById('spacer'))
			{
				if (parseInt(getElementByPartOfName('imgLogo','img').getAttribute('height')/2 - 10) > parseInt(document.getElementById('spacer').style.height))
				{
					document.getElementById('spacer').style.height = parseInt(getElementByPartOfName('imgLogo','img').getAttribute('height')/2 - 10);
					if (null != document.getElementById('tdMainContent'))
					{
						document.getElementById('tdMainContent').style.paddingTop = 0;
					}
				}
			}
		}
	}
	else
	{
		if (null != welcome)
		{
			welcome.style.width = workWidth;
		}
	}
}

function attachuserevent()
{
 //  RemoveAccessabilityUrl();
   MoveSpanHeader();
   TitleManipulation();
   for (var i = 0; oCurrForm = document.forms[i]; i++){
	for (var j = 0; oCurrFormElem = oCurrForm.elements[j]; j++){
		if (oCurrFormElem.isTextEdit){
			if (oCurrFormElem.addEventListener) oCurrFormElem.addEventListener("blur", trimvalue, false);
			else if (oCurrFormElem.attachEvent) oCurrFormElem.attachEvent("onblur", trimvalue);
		}
		if (oCurrFormElem.type == "radio" || oCurrFormElem.type == "checkbox"){
	  			oCurrFormElem.style.border = "0px";
				if (typeof(primeline) == "undefined"){
					if (document.getElementById('lbTitle') == undefined)
						oCurrFormElem.className = "inputCheck";
				}
		}
    }    
  }
  if ("undefined" != typeof(txtCardNumber))
    {
		document.getElementById(txtCardNumber).setAttribute('AUTOCOMPLETE','OFF'); 
		if ("undefined" != typeof(lstCardType))
			document.getElementById(lstCardType).focus();
	}
}
function trimvalue(e){
 
 var el = window.event ? window.event.srcElement : e.currentTarget;
 el.value = trim(el.value);
}


		
		function SetMandatoryStatus(state)
		{
			if (state)
			{
				document.getElementById('CVVAsterix').style.visibility = "visible";
				document.getElementById(txtCVV).setAttribute("lang","numberMand");
			}
			else
			{
				document.getElementById('CVVAsterix').style.visibility = "hidden";
				document.getElementById(txtCVV).removeAttribute("lang");
			}
		}
		
		function isCVVType(value)
		{
			if ("undefined" == typeof(cv2EnabledTypes)) return false;
			
			for (var i = 0; i<cv2EnabledTypes.length;i++)
			{
				if (parseInt(value) == cv2EnabledTypes[i]) return true;
			}
			
			return false;
		}
		
		
		function isIssueCheckType(value)
		{
		
			if ("undefined" == typeof(issuePaymTypes)) return false;
			
			for (var i = 0; i<issuePaymTypes.length;i++)
			{
				if (parseInt(value) == issuePaymTypes[i])  return true;
			}
			
			return false;
		}

function trim(inputString) {
   
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
    retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}

function compare(obj1, obj2, message)
{
	errorBorder(obj1.id,false);
	errorBorder(obj2.id,false);
	
	if ((obj1.value != obj2.value) || (obj1.value == '' && obj2.value == ''))
	{
		errorBorder(obj1.id,true);
		errorBorder(obj2.id,true);
		alert(message);
		return false;
	}
	else 
	{
		return true;
	}
}
function validate()
{
	errorMessageArray = new Array();
	errorIdArray = new Array();
	var toFocus = true;
	if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
			theform = document.forms["Form1"];
	}
	else {
			theform = document.Form1;
	}
	for (var i=0;i<theform.length;i++)
	{
		if (theform[i].type != "checkbox" && theform[i].type != "radio")
			{
			theform[i].style.border = "1px solid black";
			theform[i].style.color = "black";
			}
			if (typeof(theform[i].getAttribute("lang")) != "object" 
				&& theform[i].getAttribute("lang") != ""
				&& theform[i].disabled == false
				)
		{
			errorBorder(theform[i].id,false);
			var mode = theform[i].getAttribute("lang");
			var value;
			var optionLength = 0;
			if (theform[i].type != "checkbox")
			{
				if (theform[i].type == "select-one")
				{
					optionLength = theform[i].options.length;
				}
				value = theform[i].value;
			}
			else value = theform[i].checked;
			var name = theform[i].getAttribute("name");
			
			var nameSplit = name.split(':');
			name = nameSplit[nameSplit.length-1];
			if(!checkInput(value,mode,optionLength))
			{
				if (name.length > 0)
				{
					var message = "msg"+name.substr(3,name.length);
					if (name.indexOf("txtPostcode") > -1 || name.indexOf("txtDeliveryPostcode") > -1)
					{
						
						if (document.getElementById(theform[i].id).value.length > 0 )
							message = "msgWrongFormatOrLess4";
					}
					try
					{
						eval(message);
					}
					catch(ex)
					{
						message = "msgGenericError";
					}
					errorMessageArray.push(message);
					errorIdArray.push(theform[i].id);
					if (toFocus)
					{
						theform[i].focus();
						toFocus = false;
					}
				}
			}
		}
	}
	if (errorIdArray.length > 0)
	{
		for (var j=0;j<errorIdArray.length;j++)
		{
			errorBorder(errorIdArray[j],true);
		}
		var globalMessage = "";
		
		
		for (var j=0;j<errorMessageArray.length;j++)
		{
			globalMessage += eval(errorMessageArray[j])+"\r\n";
		}
		alert(globalMessage);
		return false;
	}
	else
	{
		return true;
	}
}

function errorBorder(id,error)
{
	if (document.getElementById(id) != null && 
		document.getElementById(id).type != "checkbox" &&
		document.getElementById(id).type != "radio")
	{
		if(error)
		{
			document.getElementById(id).style.border = "1px solid red";
			document.getElementById(id).style.color = "red";
		}
		else
		{
			document.getElementById(id).style.border = "1px solid black";
			document.getElementById(id).style.color = "black";
		}
	}
}
 
function checkInput(value,type,optionLength)
{
	var toReturn;
	switch (type)
	{
		case "characterNonMandatory" :
			toReturn = !isComma(value);
			break;
		case "character":
			toReturn = !isComma(value) && !isBlank(value)
			break;
		case "number":
			toReturn = isInteger(value);
			break;
		case "numberMand":
			toReturn = isIntegerMand(value);
			break;
		case "email":
			toReturn = isEmail(value);
			break;
		case "password":
			toReturn = !isBlank(value)
			break;
		case "dropdown":
			toReturn = indexZero(value,optionLength);
			break;
		case "checkbox":
			toReturn = value;
			break;
		case "phoneNumber":
			toReturn = isPhone(value);
			break;
		case "PostCode":
			toReturn = isPostcode(value);
			break;
		case "characterWithComma":
			toReturn = !isBlank(value);
			break;
		case "issueNbr":
			toReturn = isIssueNumber(value);
		default:break;
	}
	return toReturn;
}

function isIssueNumber(val)
{
	if (val.match(/^([0-9]{0,2})$/) == null)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isPhone(val)
{
	for(var i=0;i<val.length;i++)
		{
			if(!isDigit(val.charAt(i)) && val.charAt(i) != " " && val.charAt(i) != "+")
     			return false;
     	}
	return true;
}

function indexZero(val,optionLength)
{
	if (val == 0 && optionLength > 1)
		return false;
	else
		return true;
}
function alphaNumericCheck(theChar) 
{

	if ( (theChar < 48) || (theChar > 122) || ((theChar > 57) && (theChar < 65)) || ((theChar > 90) && (theChar < 97))   ) 
		return false;
	else 
		return true;
}
function isPostcode(val)
{
	var space = 0;
	for(var i=0;i<val.length;i++)
		{
			if( !alphaNumericCheck(val.charCodeAt(i)) && val.charAt(i) != " ")
     			return false;
     		if (val.charAt(i) == " ")
     			space++;
     	}
	if ((val.length - space)>= 4)
	{
		return true;
	}
	else
		return false;
}
function isBlank(val)
{
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) 
		{
		if ((val.charAt(i)!=' ')
			&&(val.charAt(i)!="\t")
			&&(val.charAt(i)!="\n")
			&&(val.charAt(i)!="\r"))
			{return false;}
		}
	return true;
}

function isInteger(val){
	//if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
	}
	return true;
}
function isIntegerMand(val){
	if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
	}
	return true;
}

function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}
function isEmail(val)
{
	if(val.match(/^\w+((-\w+)|(\.\w+)|(\'\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{1,4}$/) == null || isBlank(val))
	{
		return false;
	}
	else 
	{
		return true;
	}
}

function isComma(val)
{
	if(val==null){return true;}
	var j = 0;
	for(var i=0;i<val.length;i++) 
	{
		if (val.charAt(i) == ",")
			return true;
		else
			j++;
	}
	if (j == val.length)
		return false;	
}

function deliveryCheckAddressDetails(value,deliveryArray)
{
	
	for(var i=0;i<deliveryArray.length;i++)
	{	
		document.getElementById(deliveryArray[i]).disabled = !value;
		if (!value)
		{
			document.getElementById(deliveryArray[i]).value = document.getElementById(deliveryArray[i].replace('Delivery','')).value;
		}
	}		
	changeMandatoryStatus(document.getElementById(deliveryArray[0]));
}

function returnDollarID(id)
{
	var returnString = "";
	for (var i=0;i<id.length;i++)
	{
		if (i>0)
		{
			if (id.charAt(i) == "_" && id.charAt(i-1) != "_")
			{
				returnString += "$";
			}
			else
				returnString += id.charAt(i);
		}
		else 
		{
			returnString += id.charAt(i);
		}			
	}
	return returnString;
}

//dseniuc	2004-12-30
function fnCheckQuantity(controlToCheck)
{
	//Removing leading zeros if exist
	while (controlToCheck.value.charAt(0) == '0')
	{
		controlToCheck.value = controlToCheck.value.slice(1);
	}
	
	//Checking if the number is between 1 and 99
	var regex = /^\d+$/;
	
	if(controlToCheck.value.match(regex))
	{
		controlToCheck.style.border = "1px solid black";
		return true;
	}
	else
	{
		controlToCheck.style.border = "1px solid red";
		alert(msgIncorrectQuantity);
		return false;
	}
}

function getElementByPartOfName(partOfName, tagName)
{
	var a = new Array();
	a = document.getElementsByTagName(tagName);
	for (i=0; i<a.length; i++)
	{
		if (((a[i].name != null)&&(a[i].name.indexOf(partOfName) > -1))||
			((a[i].id != null)&&((a[i].id.indexOf(partOfName) > -1))))
		{
			return a[i];
		}
	}
	return null;
} // function getElementByPartOfName(partOfName, tagName)


// -------------- Function to disable the mandatory status for post code (load of crap) --------------- //
function changeMandatoryStatus(select)
{
	var index = 1;
	
	if (IsBrowserIE())
	{
		index = 0;
	}
	else
	{
		if (null != arguments[1])
		{
		document.getElementById(txtAddress1).setAttribute("style","width:230px");
		document.getElementById(txtAddress2).setAttribute("style","width:230px");
		document.getElementById(txtDeliveryAddress1).setAttribute("style","width:230px");
		document.getElementById(txtDeliveryAddress2).setAttribute("style","width:230px");
		document.getElementById(txtTownCity).setAttribute("style","width:230px");
		document.getElementById(txtCountyState).setAttribute("style","width:230px");
		document.getElementById(txtDeliveryTownCity).setAttribute("style","width:230px");
		document.getElementById(txtDeliveryCountyState).setAttribute("style","width:230px");
		document.getElementById(txtPostcode).setAttribute("style","width:230px");
		document.getElementById(txtDeliveryPostcode).setAttribute("style","width:230px");
		select.setAttribute("style","width:230px;")
		}
	}
	if (select.value == 74)
	{
		var elements = getElementsByAttribute("input","address",select.getAttribute("address"));
		for(var i = 0;i<elements.length;i++)
		{
			elements[i].setAttribute("lang","PostCode");
			if (window.navigator.appName.toLowerCase() != "netscape")
			{
				if (elements[i].parentNode.parentNode.childNodes[0].innerText.indexOf("*") < 0)
 					elements[i].parentNode.parentNode.childNodes[0].innerText += "*";
 			}
 			else
 			{
 				if (elements[i].parentNode.parentNode.childNodes[1].innerHTML.indexOf("*") < 0)
 					elements[i].parentNode.parentNode.childNodes[1].innerHTML += "*";
 			}
 		}
	}
	else
	{
	//	alert()
		var elements = getElementsByAttribute("input","address",select.getAttribute("address"));
		
		for(var i = 0;i<elements.length;i++)
		{
			elements[i].removeAttribute("lang");
			if (window.navigator.appName.toLowerCase() == "netscape")
			{
				if (elements[i].parentNode.parentNode.childNodes[1].innerHTML.indexOf("*") > 0)
 					elements[i].parentNode.parentNode.childNodes[1].innerHTML = elements[i].parentNode.parentNode.childNodes[1].innerHTML.substring(0,elements[i].parentNode.parentNode.childNodes[1].innerHTML.indexOf("*"));
			}
			else
			{
				if (elements[i].parentNode.parentNode.childNodes[0].innerText.indexOf("*") > 0)
 					elements[i].parentNode.parentNode.childNodes[0].innerText = elements[i].parentNode.parentNode.childNodes[0].innerText.substring(0,elements[i].parentNode.parentNode.childNodes[0].innerText.indexOf("*"));
 			}
		}
	}
}
function getElementsByAttribute(tag, attribute, value)
{
	var elements1 = document.getElementsByTagName(tag);
	var elements2 = new Array();
	for (var i = 0;i<elements1.length;i++)
	{
		if (elements1[i].getAttribute(attribute) != null && elements1[i].getAttribute(attribute) == value)
		{
			elements2.push(elements1[i]);
		}		
	}
	return elements2;
}


//position functions
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/* ------------------- Accessability manipulations ----------------------------------- */
function RemoveAccessabilityUrl()
{
	var links = GetAccessabilityLinks();
	for (var i = 0; i < links.length; i++)
	{
		if ("1" == links[i].getAttribute('accesskey'))
		{
			links[i].setAttribute("href","#");
		}
		//links[i].removeAttribute("target");
	}
}

function GetAccessabilityLinks()
{
	return getElementsByAttribute("a","accesskey");
}
/* ------------------- END Of Accessability Manipulation ------------------------------*/
/* ------------------- Header Manipulation functions ----------------------------------*/
function MoveSpanHeader()
{
	
	if ("undefined" == typeof(cornersNeedMoving)) return;
	if (0 == cornersNeedMoving.length) return;
	for (var i = 0; i < cornersNeedMoving.length; i++)
	{
		if (null != document.getElementById(cornersNeedMoving[i]))
			document.getElementById(cornersNeedMoving[i]).setAttribute('align',"absbottom");
	}
}
/* ------------------- END of Header Manipulation functions ---------------------------*/



// ------------------------------- session time out logic -----------------------------------
var secs = 0;
var timerID = null
var timerRunning = false
var delay = 30000;

function PageLeave(nrOfTimes)
{
	if(nrOfTimes != null)
	{
		secs = parseInt(nrOfTimes);
		StopTimerRefrash();		
		StartTimerRefrash();
	}
	else
	{
		alert("PageLeave: Incorrect parametrer")
	}
	
}

function StopTimerRefrash()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTimerRefrash()
{
    if (secs==0)
    {
        StopTimerRefrash(); 
       setTimeout("DisplaySessionWasExpire()", 61000);         
    }
    else
    {       
        secs = secs - 1;
        timerRunning = true;
        getRefrash();
        timerID = setTimeout("StartTimerRefrash()", delay);
    }
}

function DisplaySessionWasExpire()
{
	window.status = "Due to a long period of inactivity your session has expired";
}

function getRefrash()
{
	xmlContainerResp = XmlHttp.create();
	var url = "GetXML.aspx?xmlType=refrash_" + secs.toString();
	//alert(url);
	xmlContainerResp.open("GET", url, true);
	xmlContainerResp.onreadystatechange = RefrashLoadedAction;
	xmlContainerResp.send(null);		
}

function RefrashLoadedAction()
{
	var theResp = xmlContainerResp.responseXML;
	if (xmlContainerResp.readyState == 4)
	{	
		/*	
		var rem = secs + 3;
		rem = rem * 30;
		window.status = rem + " sec.";
		*/
	}
}
// ------------------------------- session time out logic -----------------------------------


