/*----------------------------
miglobal .js

Javascript file for all MI site
functions

Dec 2007
----------------------------*/
//---Set The visibility of "Invalid Login"----------------------------
function setVisibility(id, visibility) {
document.getElementById(id).style.display = visibility;
}


//----Function to choose the color of wood frame ---------------------
function submitFrame(){
	if(document.getElementById("frameColor").value == ""){
		alert("Please select a frame colour before adding to your basket!")
	}else{
		document.frmFrame.submit();
	}
}
function setFrameColor(theColor){
	document.getElementById("frameColor").value=theColor
}

//---Set The visibility of WallMap Layers-----------------------------
function showLayers(theLayers){
    var tabImage = document.getElementById('tabImage')
 	tabImage.src = "images/" + theLayers + ".jpg"
	
 var allLayers = new Array("aboutON","reviewsON","finishesON"); 
 for(m=0; m < allLayers.length;m++){
	  if (theLayers == allLayers[m]){
		  var layerObj = document.getElementById(allLayers[m])
		  layerObj.className='layerOn'
	  }
	  else	{
		  var layerObj = document.getElementById(allLayers[m])
		  layerObj.className='layerOff'
	 }
 }
}


//---Set The visibility of travel "Related Products"------------------

function showTravelLayers(theLayers){
    var tabImage = document.getElementById('tabImageTravel')
 	tabImage.src = "images/" + theLayers + ".jpg"
	
 var allLayers = new Array("relatedON","alsoviewedON"); 
 for(m=0; m < allLayers.length;m++){
	  if (theLayers == allLayers[m]){
		  var layerObj = document.getElementById(allLayers[m])
		  layerObj.className='layerOn'
	  }
	  else	{
		  var layerObj = document.getElementById(allLayers[m])
		  layerObj.className='layerOff'
	 }
 }
}


//---------------------------------------------------LOGIN/USER DETAILS SCRIPTS
//*******Logs in customer or registers new user
function customerLogin(thePassedQueryString,gotopage,isOrdering){
	if((document.frmLogin.email.value == "") || (document.frmLogin.password.value == "")){
		alert("Please enter an email address and password")
	}else{
		//Define the relavant page to open				
		if(document.frmLogin.usertype[0].checked){				//Existing customer
			document.frmLogin.action = "login_process.asp?redirect=" + gotopage + ".asp&" + thePassedQueryString;	
		}else{				//New user
			if(isOrdering == false){
				document.frmLogin.action = "register.asp?" + thePassedQueryString;
			}else{
				document.frmLogin.action = "checkout_register.asp?" + thePassedQueryString;
			}	
		}

		//Submit the form
		document.frmLogin.submit();
	}
}

//*******Requests password
function passwordReminder(){
	if(document.frmLogin.email.value == ""){
		alert("Please enter an email address")
	}else{
		//Submit the form
		document.frmLogin.action = "passwordreminder.asp";
		document.frmLogin.submit();
	}
}
function passwordReminderRegister(){
	if(document.frmRegister.email.value == ""){
		alert("Please enter an email address")
	}else{
		//Submit the form
		document.frmRegister.action = "passwordreminder.asp";
		document.frmRegister.submit();
	}
}

//*******Checks user has entered details correct on there details form
function validateForm(formName,validateType) {

	if(validateType == "full"){										//Check when user registering or updating details
		if (Trim(document[formName].firstname.value) == ""){	
			alert("Please enter your first name");
			document[formName].firstname.focus();
			return false;
		}	
		if (Trim(document[formName].surname.value) == ""){	
			alert("Please enter your surname");
			document[formName].surname.focus();
			return false;
		}
		if (Trim(document[formName].email.value) == ""){	
			alert("Please enter your e-mail address");
			document[formName].email.focus();
			return false;
		}	
		if (Trim(document[formName].password.value) == ""){	
			alert("Please enter a password");
			document[formName].password.focus();
			return false;
		}else{
			var test1 = Trim(document[formName].password.value);
			var test2 = Trim(document[formName].password2.value);
			if(String(test1) != String(test2)){
				alert("The password was not reconfirmed correctly.");
				document[formName].password2.focus();
				return false;
			}
		}
	}


	if (Trim(document[formName].tel.value) == ""){	
		alert("Please enter your contact number");
		document[formName].tel.focus();
		return false;
	}	
	if (Trim(document[formName].billingaddressline1.value) == ""){	
		alert("Please enter address line 1");
		document[formName].billingaddressline1.focus();
		return false;
	}
	if (Trim(document[formName].billingaddresscity.value) == ""){	
		alert("Please enter your city");
		document[formName].billingaddresscity.focus();
		return false;
	}
	if (Trim(document[formName].billingaddressprovince.value) == ""){	
		alert("Please enter your province");
		document[formName].billingaddressprovince.focus();
		return false;
	}	
	if (Trim(document[formName].billingaddresscode.value) == ""){	
		alert("Please enter your postal code");
		document[formName].billingaddresscode.focus();
		return false;
	}
	if (Trim(document[formName].billingaddresscountry.value) == ""){	
		alert("Please enter your country");
		document[formName].billingaddresscountry.focus();
		return false;
	}
	
	//Check if the user has entered an imcomplete delivery address
	if ((Trim(document[formName].daddressline1.value) != "") || (Trim(document[formName].daddresscity.value) != "") || (Trim(document[formName].daddressprovince.value) != "") || (Trim(document[formName].daddresscode.value) != "")){
		///User has entered something in the delivery address fields - ensure all are complete.
		if (Trim(document[formName].daddressline1.value) == ""){	
			alert("Please enter delivery address line 1");
			document[formName].daddressline1.focus();
			return false;
		}	
		if (Trim(document[formName].daddresscity.value) == ""){	
			alert("Please enter your delivery city");
			document[formName].daddresscity.focus();
			return false;
		}	
		if (Trim(document[formName].daddressprovince.value) == ""){	
			alert("Please enter your delivery province");
			document[formName].daddressprovince.focus();
			return false;
		}
		if (Trim(document[formName].daddresscode.value) == ""){	
			alert("Please enter your delivery postal code");
			document[formName].daddresscode.focus();
			return false;
		}
	}
	
	return true
}

//*******Toggles display of Account code box
function showSchoolOption(){
	if(document.frmRegister.isSchool.checked){
		//Show box for code
		var theObj = document.getElementById("schoolquestion");		
		theObj.className = 'schoolcodeon';
	}else{
		//Don't show box for code
		var theObj = document.getElementById("schoolquestion");		
		theObj.className = 'schoolcodeoff';
	}
}

//---------------------------------------------------SHOPPING BASKET SCRIPTS
//*******Proceed from shopping basket
function gotoCheckoutNoErr(){
    document.getElementById('btnCheckout').value="Checkout >";
	if(document.frmCart.terms.checked){
		eval("document.location='cart_userdetails.asp?discountcode=" + document.frmCart.discountcode.value + "'");
	}
	else{
		alert("Ensure that the 'Terms and conditions' have been accepted before proceeding.");	
	}	
}

//*******Proceed from shopping basket to home (continue shopping)
function gotoHome(){
	document.location='default.asp';
}

//*******Proceed from shopping basket confirmation
function updateDelivery(theAction){
	e=document.getElementById("deliverymethod");
	j=document.getElementById("prioritydelivery");
	if(e.value=="normal"){
		j.value="normal";
	} else {
		j.value=e.checked;
	}
	
	if(theAction == "buy"){		//Buy - proceed to shopping cart
	  document.frmBuy.action = "checkout.asp";
	}else if(theAction == "invoice"){		//Invoice - proceed to user message
	  document.frmBuy.action = "invoice.asp";
	}
	document.frmBuy.submit();
}

//*******Delete item from shopping basket
function deleteFromBasket(removeObj){
	if(removeObj.checked){
		var answer = confirm ("This will completely remove this item. Are you sure?");
		if (answer){
			document.frmCart.submit();  
		}else{
			removeObj.checked = false;
		}
	}
}

//*******Update quantity on shopping basket (just submits the form)
function updateQuantity(){
	document.frmCart.submit();  
}

//---------------------------------------------------PRODUCT DETAILS SCRIPTS
//Show and hide finish pictures in the main window
function showFinish(toshow,origImage){
	var theImageObj = document.getElementById("prodImage");
	var theImageName = origImage.substring(0, (origImage.length - 4));
	var newImageName = "images/" + theImageName + "_" + toshow + ".jpg";
	theImageObj.src = newImageName;
}
function hideFinish(origImage){
	var theImageObj = document.getElementById("prodImage");
	var newImageName = "readonly/products_images/" + origImage;
	theImageObj.src = newImageName;
}
function showDetail(whichOne,origImage){
	var theImageObj = document.getElementById("prodImage");	
	var newImageName = "readonly/products_images/" + origImage + "_" + whichOne + ".jpg";
	theImageObj.src = newImageName;
}
function hideDetail(origImage){
	var theImageObj = document.getElementById("prodImage");
	var newImageName = "readonly/products_images/" + origImage + "_1.jpg";
	theImageObj.src = newImageName;
}

//Adds a product to the shopping basket (just submit the form)
function addToBasket(theFormI){
	eval("document." + theFormI + ".submit()");
}

//Store selected price and write to the screen (when clicked on finish radio buttons for wallmaps)
function storePrice(selObj){
	var theselected = selObj.value;
	var layerObj = document.getElementById("pricetobuy");
	if(layerObj != null){
		layerObj.innerHTML = "<p align='center'>" + theselected + "</p>";
	}
}

//---------------------------------------------------GENERAL SCRIPTS
function searchOnNewCategories(){
 	document.getElementById("page").value="1";
 	document.getElementById('updatefrm').submit();
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

//Toggles visibility of catalogue tree (Education products)
function toggleCatGroups(imgObj){
	var oldSrc = imgObj.src;
	if(oldSrc.indexOf("images/expand.gif") != -1){
		var newSrc = oldSrc.replace(/expand.gif/, "collapse.gif");
		imgObj.src = newSrc;
	}else{
		var newSrc = oldSrc.replace(/collapse.gif/, "expand.gif");
		imgObj.src = newSrc;	
	}	
	theGroup = imgObj.name.replace(/img/, "lv");	

	var theObj = document.getElementById(theGroup);
	if(theObj != null){
		if(theObj.className == 'collapsibleon'){		
			theObj.className = 'collapsibleoff';
		}else{
			theObj.className = 'collapsibleon';
		}										
	}
}

function submitForm(answer)	{
	var theAnswer = answer
	
	if (theAnswer=='a'){
	document.frmSubmit.action='processDeskmap.asp?answer=a'
	document.frmSubmit.submit()
	}else if(theAnswer=='b'){
	document.frmSubmit.action='processDeskmap.asp?answer=b'
	document.frmSubmit.submit()
	}else{
	document.frmSubmit.action='processDeskmap.asp?answer=c'
	document.frmSubmit.submit()
	}
}

function updateCode(){
	var theCode = document.getElementById('fmfsCode').value	
	var theDestination = document.getElementById('acCode')
	theDestination.value = theCode
	
}


function showSchoolSearch(){
	var theLayer = 'codeFinder'
	document.getElementById(theLayer).style.display = 'block' ;
}


//****************Create request object
	function createRequestObject() {
		var ro;		
		if (window.XMLHttpRequest) { 				// Mozilla, Safari,...
			ro = new XMLHttpRequest();
			//if (ro.overrideMimeType) {
			//	ro.overrideMimeType('text/xml');
			//}
		}else if (window.ActiveXObject) { 			// IE
			try {
				ro = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
				ro = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
	
		return ro;
			
	}
	
function getSchool(){
	if(document.frmGet.txtSchoolName.value == ""){
		alert('Please enter a valid school name')
	}else{
		var theName = document.getElementById('txtSchoolName').value
		http = createRequestObject();
		http.open('get', 'searchSchools.asp?name=' + theName); 
		http.onreadystatechange = handleSchoolResponse;
		http.send(null);
		
	}
}

//****************Handles the responce from running Search
	function handleSchoolResponse() {
		if(http.readyState == 4){
			var response = http.responseText;
			document.getElementById("theCode").innerHTML = response;
		}
	}
	
	
	
	function useCode(theCode){
		var theCode = theCode
		document.getElementById('codeFinder').style.display = 'none';
		document.getElementById('fmfsCode').value = theCode;
		
	}
	
	function useCodeInline(theCode){
		var theCode = theCode
		var theLayer = "'codeFinder'"
		var theDisplay = "'none'"
		document.getElementById('theSchools').innerHTML = 'Your Schools account code: '+theCode +'<br /><br />[x] <a onclick="javascript:document.getElementById('+theLayer+').style.display=&apos;none&apos;">Close</a>';
		
	}
	

function addLink(theTitle, theLink){
	var theTitle = theTitle;
	var theLink = theLink;

		http = createRequestObject();
		http.open('get', 'addLink.asp?title=' + theTitle + '&link=' + theLink); 
		http.send(null);
		document.getElementById('addLink').style.display = 'none';
		alert('This product is now linked to from your Teacher Zone page!')

}

function deleteLink(id){
	var theId = id

		http = createRequestObject();
		http.open('get', 'deleteLink.asp?id=' + theId); 
		http.send(null);
		alert('This product has been deleted from your list!  You must refresh the page to view changes!')

}

function closeWindow(){
		ocument.getElementById('codeFinder').style.display='none'
}


function submitReview(){
	var theName = document.getElementById("name").value;
	var theEmail = document.getElementById("email").value;
	var theReview = document.getElementById("review").value;
	var theForm = document.getElementById("frmReview")
	
	if (theName==""){
		alert("Please enter your name")
	}else if (theEmail==""){
		alert("Please enter your email address")
	}else if (theReview==""){
		alert("Please enter your review")
	}else{
		theForm.submit()	
	}
}

function submitReviewNEW(){
	
	if(document.getElementById("scode").value == ""){
		alert("Please enter letters before proceeding");
	}else{
		if((document.getElementById("name").value == "") || (document.getElementById("email").value == "") || (document.getElementById("review").value == "") || (document.frmReview.cataloguenumber.value == "")){
			alert("Please ensure you enter all input before proceeding");
		}else{	
			var qstring = "scode=" + document.getElementById("scode").value;
			qstring += "&name=" + document.getElementById("name").value;
			qstring += "&email=" + document.getElementById("email").value;	
			qstring += "&review=" + document.getElementById("review").value;	
			qstring += "&cataloguenumber=" + document.frmReview.cataloguenumber.value;			
			for(c=0;c <5;c++){
				if(document.frmReview.star2[c].checked){
					theRating = document.frmReview.star2[c].value;
					break;
				}
			}
			qstring += "&star2=" + theRating;	
			subReviewReq = new ajaxObject('submitReview.php', handleReviewResponse);
			subReviewReq.update(qstring,'POST');		
		}			
	}
}					
function handleReviewResponse(responseText, responseStatus){
	if(responseStatus == 200){
		if(responseText != ""){
			alert(responseText);
		}
	}
}









//-------------------------------End of file








/*--New functions for checkout/registration/login 2001--*/
function nRegister(){
	var theForm = document.getElementById("frmRegister")
	var emailValid
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.getElementById("email").value;

	
	if(document.getElementById("title").value==""){
		alert("Please enter your title")
	}else if(document.getElementById("firstname").value==""){
		alert("Please enter your first name")
	}else if(document.getElementById("surname").value==""){
		alert("Please enter your surname")
	}else if(document.getElementById("email").value==""){
		alert("Please enter your email address")
	}else if(reg.test(address) == false){
		alert("Please enter a valid email address")
	}else if(document.getElementById("email2").value==""){
		alert("Please confirm your email address")
	}else if(document.getElementById("email").value.toLowerCase() != document.getElementById("email2").value.toLowerCase()){
		alert("Email addresses do not match")
	}else if(document.getElementById("phone").value==""){
		alert("Please confirm your contact telephone number")
	}else if(document.getElementById("password").value==""){
		alert("Please enter your password")
	}else if(document.getElementById("password2").value==""){
		alert("Please confirm your password")
	}else if(document.getElementById("password").value != document.getElementById("password2").value){
		alert("Passwords do not match")
	}else{
		var eMsg = document.getElementById("emailCheck").innerHTML;
		var theCheck = eMsg.indexOf("exists");
		if(theCheck != -1){
			alert("An account already exists for the supplied email address.  Please login, or specify a new address")
		}else{
			theForm.action = "checkout-register-process.asp"
			theForm.submit()
		}
	}	
}

function nnRegister(){
	var theForm = document.getElementById("frmRegister")
	var emailValid
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.getElementById("email").value;

	if(document.getElementById("title").value==""){
		alert("Please enter your title")
	}else if(document.getElementById("firstname").value==""){
		alert("Please enter your first name")
	}else if(document.getElementById("surname").value==""){
		alert("Please enter your surname")
	}else if(document.getElementById("email").value==""){
		alert("Please enter your email address")
	}else if(reg.test(address) == false){
		alert("Please enter a valid email address")
	}else if(document.getElementById("email2").value==""){
		alert("Please confirm your email address")
	}else if(document.getElementById("email").value.toLowerCase() != document.getElementById("email2").value.toLowerCase()){
		alert("Email addresses do not match")
	}else if(document.getElementById("phone").value==""){
		alert("Please confirm your contact telephone number")
	}else if(document.getElementById("password").value==""){
		alert("Please enter your password")
	}else if(document.getElementById("password2").value==""){
		alert("Please confirm your password")
	}else if(document.getElementById("password").value != document.getElementById("password2").value){
		alert("Passwords do not match")
	}else{
		var eMsg = document.getElementById("emailCheck").innerHTML;
		var theCheck = eMsg.indexOf("exists");
		if(theCheck != -1){
			alert("An account already exists for the supplied email address.  Please login, or specify a new address")
		}else{
			theForm.action = "new-account-process.asp"
			theForm.submit()
		}
	}	
}


function nCheckEmail(){
	var emailToCheck = document.getElementById("email").value
	http = createRequestObject();
	http.open('get', 'ncheck-email.asp?email=' + emailToCheck); 
	http.send(null);
	http.onreadystatechange = emailResponse;
}

function nnCheckEmail(){
	var emailToCheck = document.getElementById("email").value
	http = createRequestObject();
	http.open('get', 'nncheck-email.asp?email=' + emailToCheck); 
	http.send(null);
	http.onreadystatechange = emailResponse;
}

function emailResponse() {
		if(http.readyState == 4){
			var response = http.responseText;
			document.getElementById("emailCheck").innerHTML = response;
		}
	}
	
function applyCode(){
	var theCode = document.getElementById("nDCode").value
	document.location.href = "cart.asp?discountCode=" + theCode;
}
