var picArray = new Array();
var rosArray = new Array();
var rowWidth = new Array();
var pathToPics;
var pathToRos = 'images/rosettes/';
var globalMode = 1;
var globalMode2 = 1;

var picWidth = 93;
var picLeft = 17;
var picTop = 18;

var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
var rosOptions = Array();
var stopScroll = true;
var initialFunction = '';

var noOfFirst = 1;
var guestRosDD1 = '';
var guestRosDD2 = '';

var useExtraPricing = true;
/* 
 Single rosette: width = 165, top = 49, left = 55
 Double rosette: width = 163, top = 54, left = 54
 Tripple rosette: width = 132, top = 64, left = 72
 
 */

/* 
	Frank's version:

 Single rosette: width = 93, top = 18, left = 17
 Double rosette: width = 78, top = 27, left = 24
 Tripple rosette: width = 67, top = 32, left = 31
 
 */

function pickRosette(id, mode, idx) {
	if (typeof idx == "undefined") {
		idx = '';
		globalMode = mode;
	} else
		globalMode2 = mode;
	
	switch (mode) {
		case 1: picWidth = 93; picTop = 18; picLeft = 17; break;
		case 2: picWidth = 78; picTop = 27; picLeft = 24; break;
		case 3: picWidth = 67; picTop = 32; picLeft = 31; break;
	}
	
	var pc = document.getElementById('picDiv' + idx);
	pc.style.top = picTop + 'px';
	pc.style.left = picLeft + 'px';
	document.getElementById('pic' + idx).width = picWidth;
	
	document.getElementById('ros' + idx).src = rosArray[id].src;
}

function pickRosetteHeart(id, mode, idx) {
	if (typeof idx == "undefined") {
		idx = '';
		globalMode = mode;
	} else
		globalMode2 = mode;
	
	switch (mode) {
		case 1: picWidth = 76; picTop = 28; picLeft = 25; break;
		case 2: picWidth = 64; picTop = 34; picLeft = 31; break;
		case 3: picWidth = 63; picTop = 38; picLeft = 33; break;
	}
	
	var pc = document.getElementById('picDiv' + idx);
	pc.style.top = picTop + 'px';
	pc.style.left = picLeft + 'px';
	document.getElementById('pic' + idx).width = picWidth;
	
	document.getElementById('ros' + idx).src = rosArray[id].src;
}

function pickImage(id, idx) {
	if (typeof idx == "undefined") idx = 0;
		
	switch (globalMode) {
		case 1: picWidth = 93; picTop = 18; picLeft = 17; break;
		case 2: picWidth = 78; picTop = 27; picLeft = 24; break;
		case 3: picWidth = 67; picTop = 32; picLeft = 31; break;
	}
	
	var pc = document.getElementById('picDiv');
	pc.style.top = picTop + 'px';
	pc.style.left = picLeft + 'px';
	document.getElementById('pic').width = picWidth;

	document.getElementById('pic').src = picArray[id].src;
	
	if (idx > 0) {
		switch (globalMode2) {
			case 1: picWidth = 93; picTop = 18; picLeft = 17; break;
			case 2: picWidth = 78; picTop = 27; picLeft = 24; break;
			case 3: picWidth = 67; picTop = 32; picLeft = 31; break;
		}

		var pc = document.getElementById('picDiv' + idx);
		pc.style.top = picTop + 'px';
		pc.style.left = picLeft + 'px';
		document.getElementById('pic' + idx).width = picWidth;
	
		document.getElementById('pic' + idx).src = picArray[id + idx].src;
	}
}

function pickHeart(id, idx) {
	if (typeof idx == "undefined") idx = 0;
		
	switch (globalMode) {
		case 1: picWidth = 76; picTop = 28; picLeft = 25; break;
		case 2: picWidth = 64; picTop = 34; picLeft = 31; break;
		case 3: picWidth = 63; picTop = 38; picLeft = 33; break;
	}
	
	var pc = document.getElementById('picDiv');
	pc.style.top = picTop + 'px';
	pc.style.left = picLeft + 'px';
	document.getElementById('pic').width = picWidth;

	document.getElementById('pic').src = picArray[id].src;
	
	if (idx > 0) {
		switch (globalMode2) {
			case 1: picWidth = 76; picTop = 28; picLeft = 25; break;
			case 2: picWidth = 64; picTop = 34; picLeft = 31; break;
			case 3: picWidth = 63; picTop = 38; picLeft = 33; break;
		}

		var pc = document.getElementById('picDiv' + idx);
		pc.style.top = picTop + 'px';
		pc.style.left = picLeft + 'px';
		document.getElementById('pic' + idx).width = picWidth;
	
		document.getElementById('pic' + idx).src = picArray[id + idx].src;
	}
}

function useDesign(elemId1, elemId2, targElemId1, targElemId2, elemId3, targElemId3) {
	document.getElementById(targElemId1).selectedIndex = document.getElementById(elemId1).selectedIndex + 1;
	document.getElementById(targElemId2).selectedIndex = document.getElementById(elemId2).selectedIndex + 1;
	if (typeof elemId3 != "undefined") {
		document.getElementById(targElemId3).selectedIndex = document.getElementById(elemId3).selectedIndex + 1;
	}
	checkForUpload(document.getElementById(targElemId1));
}

function useDesignNew(elemIdArr, targElemIdArr) {
	for (var i = 0; i < elemIdArr.length; i++) 
		document.getElementById(targElemIdArr[i]).selectedIndex = document.getElementById(elemIdArr[i]).selectedIndex + 1;

	if (elemIdArr.length > 2) handleExtraPrice(document.getElementById('itemname3'));
	checkForUpload(document.getElementById(targElemIdArr[0]));
}

function onlyQuantEntry(e) {
	var result = false;
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	if (typeof keynum == "undefined") {
    keynum = false;
  }	
	
	result = (((keynum >= 48) && (keynum <= 57)) || (keynum == 8) || (keynum == false));

  return result;
}

function noEnter(e) {
	var result = false;
	var keynum;
	if(window.event) {
	  keynum = e.keyCode;
	} else if(e.which) {
	  keynum = e.which;
	}
	if (typeof keynum == "undefined") {
    keynum = false;
  }	
	
	result = ((keynum != 13) || (keynum == false));

  return result;
}


/* Changed for upload reference 2008-01-03 */
function checkForUpload(elem) {
	if (elem.options[elem.selectedIndex].value == 'Design J {1.00}') {
		window.scrollTo(0, 0);

		var str = document.getElementById('messageFrame').src;
		var referenceId;
		var pieces = str.split('&');
		for (var i = 0; i < pieces.length; i++) {
			if (pieces[i].indexOf('?') > 0) {
				var pieces2 = pieces[i].split('?');
				referenceId = pieces2[1];
				break;
			}
		}
		document.getElementById('messageFrame').src = 'imgupload/loading.html?' + referenceId;
		document.getElementById('messageFrame').src = 'imgupload/fetchform.php?' + referenceId + '&t=' + ((new Date()).valueOf());
		makeMessageVisible();
	}
}

function returnFromUpload() {
	var randVal = Math.round(Math.random() * 10000000 + 1);
	
	document.getElementById('imageUplRef').value = 'Order tracking ref.:' + randVal;
	document.getElementById('messageFrame').src = 'imgupload/loading.html?id=' + randVal;
}

function goToImgUpload() {
	var str = document.getElementById('messageFrame').src;
	var referenceId;
	var pieces = str.split('&');
	for (var i = 0; i < pieces.length; i++) {
		if (pieces[i].indexOf('?') > 0) {
			var pieces2 = pieces[i].split('?');
			referenceId = pieces2[1];
			break;
		}
	}

	window.open('http://www.cardsnbadges.co.uk/mailsending/sendimage.php?id=' + referenceId);
}

/*------------------ NEW FOR ROSETTES ----------------------*/
if(typeof getWindowSize != 'function') { 
	function getWindowSize() {
	  var myWidth = 0, myHeight = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
	    //Non-IE
	    myWidth = window.innerWidth;
	    myHeight = window.innerHeight;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	    //IE 6+ in 'standards compliant mode'
	    myWidth = document.documentElement.clientWidth;
	    myHeight = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	    //IE 4 compatible
	    myWidth = document.body.clientWidth;
	    myHeight = document.body.clientHeight;
	  }
	  
	  return [myWidth, myHeight];
	}
}

function showLoadingLayer() {
	var dims = new Array();
	dims = getWindowSize();  // this comes from holiday/holiday.js
	var frameWidth = 55;
	var frameHeight = 55;
	
	var elem = document.getElementById('whiteBck');
	elem.style.width = dims[0] + 'px';
	elem.style.height = dims[1] + 'px';
	elem.style.display = 'block';

	elem = document.getElementById('loadingIndicator');
	elem.style.paddingLeft = new Number((dims[0] - frameWidth)/2) + 'px';
	elem.style.paddingTop = new Number((dims[1] - frameHeight)/2) + 'px';
	elem.style.display = 'block';
}

function hideLoadingLayer() {
	if (document.getElementById('whiteBck') != null) document.getElementById('whiteBck').style.display = 'none';
	if (document.getElementById('loadingIndicator') != null) document.getElementById('loadingIndicator').style.display = 'none';
	stopScroll = false;  // global variable, which controls scrolling
}

function scrolltop() {
    if (stopScroll == true) scroll(0,0);
}

function updateOptions(elemId, first) {
	if (typeof first == 'undefined') first = false;
	var ex1 = /£[0-9\.]+/;
	var ex2 = /{[0-9\.]+}/;
	var ex3 = /[0-9\.]+/;
	
	var elementToLoad = document.getElementById(elemId.id);
	if (elementToLoad == null) return;
  var newElem;

  while (elementToLoad.options.length) elementToLoad.remove(0);
  if (!first) {
	  newElem = document.createElement('option');
	  newElem.text = '';
	  newElem.value = '';
	  elementToLoad.add(newElem, where);
	}
	for (var i = 0; i < rosOptions.length; i++) {
		if ((rosOptions[i].mode == elemId.mode) || (elemId.mode == 4)) {
		  newElem = document.createElement('option');
		  if ((elemId.id == guestRosDD1) || (elemId.id == guestRosDD2)) {
		  	if (rosOptions[i].value.match(ex2)) {
		  		var tempOptionId = rosOptions[i].value;
		  		var tmp = new Number(rosOptions[i].value.match(ex3));
		  		var tmp2 = new Number(tmp * 10);
		  		newElem.value = rosOptions[i].value.replace(ex2, '{' + tmp2.toFixed(2) + '}');
		  		newElem.text = rosOptions[i].text.replace(ex1, '£' + tmp2.toFixed(2));
		  		rosArray[newElem.value] = rosArray[tempOptionId];
		  	} else {
				  newElem.text = rosOptions[i].text;
				  newElem.value = rosOptions[i].value;
		  	}
			} else {
			  newElem.text = rosOptions[i].text;
			  newElem.value = rosOptions[i].value;
			}
		  elementToLoad.add(newElem, where);
		}
	}
}

if (typeof omitDocumentReadyFunc == 'undefined') {
	$(document).ready(function(){
		showLoadingLayer();
		
		if ((document.getElementById('messageFrame') != null) && (document.getElementById('nonModalMessage') != null)) {
			$('#whiteBck').load('holiday/fetchholiday.php?siteid=8&simple=1',
			function(data) {
		    if (data != 'empty') {
		    	if (data.indexOf('<!-- holidayIsActive -->') > 0) {
			    	document.getElementById('messageFrame').innerHTML = data;
			    	document.getElementById('messageFrame').style.display = 'block';
						makeMessageVisible();
					} else {
			    	document.getElementById('nonModalMessage').innerHTML = data;
			    	document.getElementById('nonModalMessage').style.display = 'block';
					}
		  	}
		
				$.getJSON('/badgesandrosettes/loadrosdata.php',
		      function(data) {
		        $.each(data, function(i, item){
		        	if (!useExtraPricing && (item.text.indexOf('+') > 0)) {
		        		item.text = item.text.substr(0, item.text.indexOf('+'));
		        		item.value = item.value.substr(0, item.value.indexOf('{'));
		        	}	
		        	var newOption = {text: item.text, value: item.value, mode: item.width};
		        	rosOptions[rosOptions.length] = newOption; 
		
							rosArray[item.value] = new Image();
							rosArray[item.value].src = '/badgesandrosettes/getfile.php?id=' + item.id + '&table=2';
							rowWidth[item.value] = parseInt(item.width);
		
				     	if (i == 0) $('#ros').attr('src', '/badgesandrosettes/getfile.php?id=' + item.id + '&table=2'); 
		        });
		      	
		      	$.each(elemArray, function(i, elem) { updateOptions(elem, (i <= (noOfFirst - 1))); });
		      	
						hideLoadingLayer();
		    });
		
			});
		} else {
				//if (initialFunction != '') eval(initialFunction);
				if (initialFunction != '') window[initialFunction]();
				$.getJSON('/badgesandrosettes/loadrosdata.php',
		      function(data) {
		        $.each(data, function(i, item){	
		        	if (!useExtraPricing && (item.text.indexOf('+') > 0)) {
		        		item.text = item.text.substr(0, item.text.indexOf('+'));
		        		item.value = item.value.substr(0, item.value.indexOf('{'));
		        	}	
		        	var newOption = {text: item.text, value: item.value, mode: item.width};
		        	rosOptions[rosOptions.length] = newOption; 
		
							rosArray[item.value] = new Image();
							rosArray[item.value].src = '/badgesandrosettes/getfile.php?id=' + item.id + '&table=2';
							rowWidth[item.value] = parseInt(item.width);
		
				     	if (i == 0) {
				     		$('#ros').attr('src', '/badgesandrosettes/getfile.php?id=' + item.id + '&table=2');
					     	if (noOfFirst == 2) $('#ros2').attr('src', '/badgesandrosettes/getfile.php?id=' + item.id + '&table=2');
				     	}
		        });
		      	
		      	$.each(elemArray, function(i, elem) { updateOptions(elem, (i <= (noOfFirst - 1))); });
		      	
						hideLoadingLayer();
		    });
		}
	});
}