var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function fixPNG(myImage){
	
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
		
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
	   var imgTitle = (myImage.title) ? 
		             "title=\"" + myImage.title  + "\" " : "title=\"" + myImage.alt + "\" "
	   var imgStyle = "display:block; margin-top:0px;" + myImage.style.cssText
	   var myParent = myImage.parentNode

		if (myParent.nodeName == "A"){
			var aHref=myParent.href;
			var aTarget=""
			var aStyle="style=\" display:block; width:" + myImage.width + "px; height:" + myImage.height + "px;\" "
			if (myParent.target !=="") {
				aTarget = "target=\""+ myParent.target + "\"";
			}
			var strNewHTML = "<span " + imgID + imgClass
				+ imgTitle + " style=\"" + "width:" + myImage.width 
				+ "px; height:" + myImage.height 
				+ "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + myImage.src + "\', sizingMethod='image');\">"
				+ "<a " + aStyle +  "href=\""+aHref + "\" target=\""+ aTarget + "\" ><!-- --></a> </span>"
			myParent.outerHTML = strNewHTML
		}
	   else{
			var strNewHTML = "<span " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + myImage.width 
				+ "px; height:" + myImage.height 
				+ "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + myImage.src + "\', sizingMethod='image');\"></span>"
			myImage.outerHTML = strNewHTML
	   }
	   	  
    }
}

function buildFlash (divId, swfLoc, swfName, swfHeight, swfWidth, swfVar, swfVar2){
		var flashVersion = 7;
		var so = new SWFObject(swfLoc, swfName, swfWidth, swfHeight, flashVersion, "#00FFFF");
		so.addParam("wmode", "transparent");
		so.addParam("scale", "noscale");
		if (swfVar){
			so.addVariable("v1", swfVar);
		}
		if (swfVar2){
			so.addVariable("v2", swfVar2);
		}
		so.write(divId);
}
function buildCalendar (divId, swfLoc, swfName, swfHeight, swfWidth, xmlPath){
		var flashVersion = 7;
		var so = new SWFObject(swfLoc, swfName, swfWidth, swfHeight, flashVersion, "#00FFFF");
		so.addParam("wmode", "transparent");
		so.addParam("scale", "noscale");
		so.addVariable("p", xmlPath);

		so.write(divId);
}
//-- Show/Hide functions --//
function hideAll(lyrId) { 
	var divs = document.getElementsByTagName('div'); 
	for(i=0;i<divs.length;i++){ 
		if(divs[i].id.match(lyrId)){
			divs[i].style.display='none';
		} 
	} 
}

function showHideFormNew(ele, frmDiv){

	if (ele.value == 0)
	{
		document.getElementById(frmDiv).style.display = 'block';
	}else{
		document.getElementById(frmDiv).style.display = 'none';
	}
}


function showHideForm(nr){
	
	if(document.getElementById("strOrderSameDeliveryAddress").checked == true) 
	{
		//document.getElementById(nr).innerHTML = '<style> #hide-form{border:1px solid red;}</style>';
		document.getElementById(nr).style.display = 'none';
		if(document.getElementById("strOrderBillingCountry"))
		{
			if(document.getElementById("strOrderBillingCountry").selectedIndex == 0)
			{
				//Do not leave warning for unticking (changed country dropdown back to UK (if not UK))
				document.getElementById("nonUKShippingWarning").style.display = 'none';				
			}
			else
			{
				document.getElementById("strOrderBillingCountry").selectedIndex = 0;
			}
		}
	}
	else if(document.getElementById("strOrderSameDeliveryAddress").checked == false) 
	{
		//document.getElementById(nr).innerHTML = '<style> #hide-form{border:1px solid blue;}</style>';
		document.getElementById(nr).style.display = 'block';
		document.getElementById("nonUKShippingWarning").style.display = 'block';

	}
}


function showHide(nr) {
    current = (document.getElementById(nr).style.display == 'block') ? 'none' : 'block';
    document.getElementById(nr).style.display = current;
}

document.write('<style type="text/css">.hidden {display:none;} .imgNumbers li{visibility:visible;}</style>');

function getPublications(oId){
	//obj = document.getElementById(oId);
	ajx(oId, '/pubList.asp') 
}

function IsAlphaNumeric(str) {
	for( var i = 0; i < str.length; i++ ) {
		var ch		= str.substring(i, i + 1);
		var strTest	= ch.charCodeAt(0);
		if (! (
			// numbers [0-9]
				(strTest >= 48 && strTest <= 57)
			// alphabet [a-z], [A-Z]
				|| (strTest >= 65 && strTest <= 90)
				|| (strTest >= 97 && strTest <= 122)
			// List of International Characters that are acceptable.
			// E.g. Š Œ Ž š œ ž Ÿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ù ú û ü ý þ ÿ
				|| strTest == 138 || strTest == 140 || strTest == 142 || strTest == 154 || strTest == 156 || strTest == 158 || strTest == 159
				|| (strTest >= 192 && strTest <= 214) 
				|| (strTest >= 217 && strTest <= 246)
				|| (strTest >= 249 && strTest <= 255)
			) )
		{
			//alert(strTest);
			return false;
		}
	}
	return true;
}

function IsNumeric(str) {
	for( var i = 0; i < str.length; i++ ) {
		var ch		= str.substring(i, i + 1);
		var strTest	= ch.charCodeAt(0);
		if (! (
			// numbers [0-9] & [,-./]
				(strTest >= 44 && strTest <= 57)
			) )
		{
			//alert(strTest);
			return false;
		}
	}
	return true;
}

function IsEmail(aTextField) {
	var s = aTextField;
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");

	// .xxxyyy allowed;
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{1,6}|[0-9]{1,6})(\\]?)$");

	return (!r1.test(s) && r2.test(s));
}

function isImg(str){
	var extension = returnExtension(str).toLowerCase();
	if (extension == 'jpg' || extension == 'jpeg' || extension == 'gif'  || extension == 'png')
	{
		//alert('is jpeg');			
		return true;
	}else{
		//alert('is not jpeg');
		return false;
	}
}

function returnExtension(str){
	var finddot=str.lastIndexOf('.',str.length);
	var extension =str.substring(finddot+1,str.length);
	return extension	
}

function OpenCenteredWindow(url) {
	 var width  = 800;
	 var height = 600;
	 var left   = (screen.width  - width)/2;
	 var top    = (screen.height - height)/2;
	 var params = 'width='+width+', height='+height;
	 params += ', top='+top+', left='+left;
	 params += ', directories=no';
	 params += ', location=no';
	 params += ', menubar=no';
	 params += ', resizable=no';
	 params += ', scrollbars=yes';
	 params += ', status=no';
	 params += ', toolbar=no';
	 newwin=window.open(url,'windowname5', params);
	 if (window.focus) {newwin.focus()}
	 return false;
}

/*****************************************/
/*			IMAGE TOUTS					*/
/****************************************/

	var activeBookArray = new Array;
	var scrollerArray= new Array;
	var scount = 0;
	function scrollBooks(myId){
		var bookArray = new Array;
		var str = "#" + myId +  " .book";
		bookArray = $$(str);
		var mid = Math.round(Math.floor(bookArray.length/2));
		activeBook = mid;
	
		
		for (i=0; i<bookArray.length; i++){
			//arr[i].style.display = "none";
			
			if (i==mid){
				bookArray[i].style.left = "200px"
				bookArray[i].style.visibility = "visible"
			}
			if (i>mid){
				bookArray[i].style.left = "400px"
				new Effect.Opacity(bookArray[i], { to: 0, duration: 0.0 })
			}
			if (i<mid){
				new Effect.Opacity(bookArray[i], { to: 0, duration: 0.0 })
			}
			
			
		}
		bookArray[mid-1].style.display = "block";
		scrollerArray[scount]=bookArray;
		
		activeBookArray[scount]=mid;
		scount++;
	}
	var clickNum = 0;
	function moveLeft(num){
		if (scrollerArray[num].length >1 && clickNum < scrollerArray[num].length-2){
			clickNum++;
			scrollerArray[num].push(scrollerArray[num].shift())
			scrollerArray[num][activeBookArray[num]-1].style.left = "200px";
			scrollerArray[num][activeBookArray[num]].style.left = scrollerArray[num][activeBookArray[num] +1].style.left =  "400px";
			scrollerArray[num][activeBookArray[num]].style.visibility = "visible"
			Effect.sliderLeft(scrollerArray[num][activeBookArray[num]-1], scrollerArray[num][activeBookArray[num]]);		 
		}
	}
	function moveRight(num){
		if (scrollerArray[num].length >1 && clickNum < scrollerArray[num].length-2){
			clickNum++;
			scrollerArray[num].unshift(scrollerArray[num].pop())
			scrollerArray[num][activeBookArray[num]+1].style.left = "200px";
			scrollerArray[num][activeBookArray[num]].style.left = scrollerArray[num][activeBookArray[num] -1].style.left =  "0px";
			scrollerArray[num][activeBookArray[num]].style.visibility = "visible"
			Effect.sliderRight(scrollerArray[num][activeBookArray[num]+1], scrollerArray[num][activeBookArray[num]]);
			 
		}
	}
	
	function getMediaScroller(set){
		var swfLoc ="/common/swf/pubFlowNew.swf";
		var myXML = "/common/xml/ProductXML.asp?" + set + ""
		var so = new SWFObject(swfLoc, "pubFlow", 640, 210, 8, "#FFFFFF");
		so.addVariable("v1", myXML);
		so.addParam("wmode", "transparent");
		so.write("mediaScroller");
	}

/*****************************************/
/*			CHARACTER MATRIX			*/
/****************************************/
var sqX = -60;
var sqY = 0;

//Home page Matrix
function matrixInit(){
	
	charArray = $$('#matrix li');
	var dbl = true;
	var len = charArray.length -1;
	for(i=0; i<charArray.length; i++){
		if (i%4 == 0){
			sqY = 0;
			sqX+= 60
		}
		else{
			sqY += 56;
		}
		
		charArray[i].style.left = sqX + "px";
		charArray[i].style.top = sqY + "px";
		
	}
	var rand = Math.floor(Math.random() * 10) + 12;
	var myId = charArray[rand].firstChild.getAttribute("rel").substring(2);
	fadeIn(myId)
}



var xpos = 0;
function moveMatrixLeft(){
	var obj = document.getElementById('selector');
	for(i=0; i<4; i++){
		//alert(sqX +  " : " + sqY);
		if (sqY == 168){
			sqY = 0;
			sqX+= 60
		}
		else{
			sqY += 56;

		}
		charArray[0].style.left = sqX + "px";
		charArray[0].style.top = sqY + "px";
		charArray.push(charArray.shift());
		
	}
	xpos-=60
	new Effect.Move(obj, { x: xpos, mode: 'absolute', duration:0.3 });
}

function moveMatrixRight(){
	var obj = document.getElementById('selector');
	tempX = parseInt(charArray[0].style.left) - 60;
	tempY = 0;
		for(i=0; i<4; i++){
			
			//alert(tempX +  " : " + tempY);
			if (charArray[charArray.length -1].style.left < sqX){
				sqX-= 60
			}
			sqY -=56;
			if (sqY < 0){
				sqY = 168;
				sqX-= 60;
			}
			charArray[charArray.length -1].style.left = tempX + "px";
			charArray[charArray.length -1].style.top = tempY + "px";
			charArray.unshift(charArray.pop());
			tempY += 56;
		}
		xpos+=60
		new Effect.Move(obj, { x: xpos, mode: 'absolute', duration:0.3 });
}

//Characters page Matrix

function charMatInit(){
	charArray = $$('#matrix li');
	var dbl = true;
	var len = charArray.length -1;
	for(i=0; i<charArray.length; i++){
		if (i%6 == 0){
			sqY = 0;
			sqX+= 60
		}
		else{
			sqY += 56;
		}
		
		charArray[i].style.left = sqX + "px";
		charArray[i].style.top = sqY + "px";
		
	}
	var rand = Math.floor(Math.random() * 10) + 12;
	var myId = charArray[rand].firstChild.getAttribute("rel").substring(2);
	fadeIn(myId, 5)
}



var xpos = 0;
function moveCharMatRight(){
	var obj = document.getElementById('selector');
	for(i=0; i<6; i++){
		//alert(sqX +  " : " + sqY);
		if (sqY == 280){
			sqY = 0;
			sqX+= 60
		}
		else{
			sqY += 56;

		}
		charArray[0].style.left = sqX + "px";
		charArray[0].style.top = sqY + "px";
		charArray.push(charArray.shift());
		
	}
	xpos-=60
	new Effect.Move(obj, { x: xpos, mode: 'absolute', duration:0.3 });
}

function moveCharMatLeft(){
	var obj = document.getElementById('selector');
	tempX = parseInt(charArray[0].style.left) - 60;
	tempY = 0;
		for(i=0; i<6; i++){
			
			//alert(tempX +  " : " + tempY);
			if (charArray[charArray.length -1].style.left < sqX){
				sqX-= 60
			}
			sqY -=56;
			if (sqY < 0){
				sqY = 280;
				sqX-= 60;
			}
			charArray[charArray.length -1].style.left = tempX + "px";
			charArray[charArray.length -1].style.top = tempY + "px";
			charArray.unshift(charArray.pop());
			tempY += 56;
		}
		xpos+=60
		new Effect.Move(obj, { x: xpos, mode: 'absolute', duration:0.3 });
}


var activeChar = 1
var stack = 200;
function fadeIn(charId, pageId){
	
	if (pageId==undefined)
	{
		pageId = "";
	}
	var oldId= "c" + activeChar;
	activeChar++;
	activeChar = activeChar%2;
	var newId= "c" + activeChar;
	
	var divIn = document.getElementById(newId)
	divIn.style.zIndex = stack++;

	var url = '/charFeature.asp?charId=' + charId + '&pageId=' + pageId;
	ajx(newId, url)
	
	new Effect.Opacity(newId, { from: 0.0, to: 1.0, duration: 0.6 });
	new Effect.Opacity(oldId, { from: 1.0, to: 0.0, duration: 0.6 });
	
}


function getMatrix(){
	//document.write("<div>foo</div>");
	ajx('matrix', '/charList.asp') 
}


function getCharFeature(num){
	var url = '/charList.asp?' + num;
	ajx('matrix', url) 
}


function OrderBillingAddressCountryChanged(dropDown)
{
	if(dropDown.options[dropDown.selectedIndex].value != 'United Kingdom')
	{
		//alert(dropDown.options[dropDown.selectedIndex].value);
		document.getElementById("strOrderSameDeliveryAddress").checked = false;
		showHideForm('hide-form');
	}		
}


/* Print On Demand Books [AR - 21/11/2008]*/

function GetAvitarRef() { 
	var AvitarRef = ''; 
	var selects = document.getElementsByTagName('select'); 
	for(i=0;i<selects.length;i++){ 
		if(selects[i].id.match('POD_IMG')){
        	AvitarRef = AvitarRef + selects[i].getAttribute('rel') + selects[i].value
		} 
	}
   return AvitarRef;
}

// Layered image test -- START [27/02/2008];
function GetAvitarLayeredRef() { 
	
	var AvitarRef = ''; 
	var selects = document.getElementsByTagName('select'); 
	
	for(i=0;i<selects.length;i++)
	{
		if(selects[i].id.match('POD_IMG'))
		{
			var podContainerItemId = 'podContainerItem' + selects[i].id;
			if (document.getElementById(podContainerItemId) != null)
			{
				if(!selects[i].getAttribute('rel').match('skip'))
				{
					if (AvitarRef.length>0)
						{
							AvitarRef += "_";
						}

					var arrItemRel = selects[i].getAttribute('rel').split(';');

					if (arrItemRel.length>1)
					{
						AvitarRef += arrItemRel[0] + selects[i].value;					

						for(var t=0; t<arrItemRel.length;t++)
						{
							if (arrItemRel[t].match('rel-'))
							{
								for(var q=0;q<selects.length;q++)
								{ 
									if (arrItemRel[t].substring(arrItemRel[t].length-1) == selects[q].getAttribute('rel').charAt(0))
									{
										AvitarRef += selects[q].getAttribute('rel').charAt(0) + selects[q].value;									
									}
								}
							}
						}
					}
					else
					{
						AvitarRef += selects[i].getAttribute('rel') + selects[i].value;
					}
				}
			}
		}
	}
   
   return AvitarRef;
}
// Layered image test -- END [27/02/2008];

function UpdateAvitar() { 
	var AvitarRef = GetAvitarRef(); 
	document.getElementById("podImg").src = strImagesLocation + AvitarRef + ".jpg";
}

function ascii_value(c){
	// restrict input to a single character
	c = c.charAt (0);

	// loop through all possible ASCII values
	var i;
	for (i = 0; i < 256; ++ i)
	{
		// convert i into a 2-digit hex string
		var h = i . toString (16);
		if (h . length == 1)
			h = "0" + h;

		// insert a % character into the string
		h = "%" + h;

		// determine the character represented by the escape code
		h = unescape(h);

		// if the characters match, we've found the ASCII value
		if (h == c)
			break;
	}
	return i;
}

// Layered image test -- START [27/02/2008];
function UpdateAvitarLayered() { 
	
	var podContainer = document.getElementById('PodContainer');

	var selects = document.getElementsByTagName('select'); 

	//create the multiple layers;
	for(var i=0;i<selects.length;i++)
	{ 
		if(selects[i].id.match('POD_IMG'))
		{
			var podContainerItemId = 'podContainerItem' + selects[i].id;
			if (document.getElementById(podContainerItemId) != null)
			{
				if(!selects[i].getAttribute('rel').match('skip'))
				{
					var arrItemRel = selects[i].getAttribute('rel').split(';');

					if (arrItemRel.length>1)
					{
						var podContainerItemRef = strImagesLocation + arrItemRel[0] + selects[i].value;					

						for(var t=0; t<arrItemRel.length;t++)
						{
							if (arrItemRel[t].match('rel-'))
							{
								for(var q=0;q<selects.length;q++)
								{ 
									if (arrItemRel[t].substring(arrItemRel[t].length-1) == selects[q].getAttribute('rel').charAt(0))
									{
										podContainerItemRef += "_" + selects[q].getAttribute('rel').charAt(0) + selects[q].value;									
									}
								}
							}
						}
					
						podContainerItemRef += ".png";
					}
					else
					{
						var podContainerItemRef = strImagesLocation + selects[i].getAttribute('rel') + selects[i].value + ".png";				
					}

				//assign to the existing container;
				var podContainerItemImageId = 'podContainerItemImage' + selects[i].id;
				var podContainerItemImage = document.getElementById(podContainerItemImageId);
				podContainerItemImage.src = podContainerItemRef;

				}			
			}
		}
	}
}
// Layered image test -- END [27/02/2008];

function UpdateCB(){
	var optStr = OptionsLoop();
	alert("booBoo" +optStr);
	var strImgPath = strImagesLocation+optStr+".jpg";

	var imgObj =document.getElementById("podImg");
	changeImg(strImgPath);	
	alert(strImgPath);
}

function changeImg(newImg) {
	document.podImg.src = newImg;
}

				
function OptionsLoop(){
	var arraystring = "";
	for (i=0;i<arrOptions.length;i++){
		var selObj =document.getElementById(arrOptions[i]);
		var theSel = (selObj.options[selObj.selectedIndex].value);
		arraystring+= arrOptions[i]+theSel;
	} 
	return arraystring;
}

function verifyMe(){

	var arrTextboxs = document.getElementsByTagName("input");
	for (i=0;i<arrTextboxs.length;i++){
		var Obj = arrTextboxs[i];// document.getElementById(arrTextboxs[i]);
		if(Obj.getAttribute("type") == "text"){
			var str = Obj.value;
			if( str.length == 0 || str == "" ) {
				alert("Please insert a value");
				Obj.focus();
				return false;
			}
		}
	}
	return true;
}

//T Rapa 11.06.2010
//to make sure white spaces don't accidentally get put into the db
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}

function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function checkSpaces(s)
{
	elem = document.getElementById(s);
	elemVal = document.getElementById(s).value;
	elemVal = rtrim(ltrim(elemVal));
	elemVal = elemVal.replace(" ", "");
	elem.value = elemVal;
}
