// JavaScript Document

/*
Break-out-of-frames script
By JavaScript Kit (http://javascriptkit.com)
Over 400+ free scripts here!
Above notice MUST stay intact for use
*/

if (window != top)
	top.location.href = location.href;

/**************/
/* Mask email */
/**************/
function maskEmail(emailAddress) {
	document.write("<a href=\"mailto:" + emailAddress + "@inke.com.sg\">" + emailAddress + "@inke.com.sg</a>");
}

/********************/
/* User Guide stuff */
/********************/
function viewOneUserGuide(userGuide,typeOfGuide) {
	window.open(userGuide + "." + (typeOfGuide == 0 ? "pdf" : "mpg"));
}
function viewUserGuide(x,typeofvideo) {
	window.open((typeofvideo == 1 ? "../videos/" : "") + x.value + (typeofvideo == 0 ? ".pdf" : ".mpg"));
}

/***************/
/* Forms stuff */
/***************/
function requiredWarrantyFields() {
	var warrantyFields = new Array(14);
	// requiredFields[x] = new Array(fieldname, field label, isList, numChars)
	warrantyFields[0] = new Array("fname", "first/given name", false, 0);
	warrantyFields[1] = new Array("lname", "last/family name", false, 0);
	warrantyFields[2] = new Array("add", "address", false, 0);
	warrantyFields[3] = new Array("city", "city", false, 0);
	warrantyFields[4] = new Array("state", "state/province", false, 0);
	warrantyFields[5] = new Array("country", "country", true, 0);
	warrantyFields[6] = new Array("zip", "ZIP/postal code", false, 0);
	warrantyFields[7] = new Array("home", "home phone number", false, 0);
	warrantyFields[8] = new Array("mail", "email address", false, 0);
	warrantyFields[9] = new Array("serialnum", "product serial number", false, 9);
	warrantyFields[10] = new Array("warnum", "warranty number", false, 7);
	warrantyFields[11] = new Array("dealer", "dealer name", false, 0);
	warrantyFields[12] = new Array("rnum", "receipt number", false, 0);
	warrantyFields[13] = new Array("cop", "country of purchase", true, 0);
	return warrantyFields;
}

function requiredEnduserContactFields() {
	var enduserContactFields = new Array(12);
	// requiredFields[x] = new Array(fieldname, field label, isList, numChars)
	enduserContactFields[0] = new Array("fname", "first/given name", false, 0);
	enduserContactFields[1] = new Array("lname", "last/family name", false, 0);
	enduserContactFields[2] = new Array("city", "city", false, 0);
	enduserContactFields[3] = new Array("state", "state/province", false, 0);
	enduserContactFields[4] = new Array("country", "country", true, 0);
	enduserContactFields[5] = new Array("zip", "ZIP/postal code", false, 0);
	enduserContactFields[6] = new Array("mail", "email address", false, 0);
	enduserContactFields[7] = new Array("cval", "HP 51645A retail price", false, 0);
	enduserContactFields[8] = new Array("rval", "Inke retail price", false, 0);
	enduserContactFields[9] = new Array("resell", "reseller/dealer/store", false, 0);
	enduserContactFields[10] = new Array("interest", "other interested models", false, 0);
	enduserContactFields[11] = new Array("comments", "comments", false, -1);
	return enduserContactFields;
}

function requiredDistributorContactFields() {
	var distributorContactFields = new Array(20);
	// requiredFields[x] = new Array(fieldname, field label, isList, numChars)
	distributorContactFields[0] = new Array("fname", "first/given name", false, 0);
	distributorContactFields[1] = new Array("lname", "last/family name", false, 0);
	distributorContactFields[2] = new Array("title", "title", false, 0);
	distributorContactFields[3] = new Array("cname", "company name", false, 0);
	distributorContactFields[4] = new Array("cadd", "company address", false, 0);
	distributorContactFields[5] = new Array("city", "city", false, 0);
	distributorContactFields[6] = new Array("state", "state/province", false, 0);
	distributorContactFields[7] = new Array("country", "country", true, 0);
	distributorContactFields[8] = new Array("zip", "ZIP/postal code", false, 0);
	distributorContactFields[9] = new Array("cweb", "company website", false, 0);
	distributorContactFields[10] = new Array("nature", "nature of business", false, 0);
	distributorContactFields[11] = new Array("turnover", "turnover", false, 0);
	distributorContactFields[12] = new Array("mail", "email address", false, 0);
	distributorContactFields[13] = new Array("ctel", "office phone number", false, 0);
	distributorContactFields[14] = new Array("mobile", "mobile phone number", false, 0);
	distributorContactFields[15] = new Array("appoint", "appointment interest", true, 0);
	distributorContactFields[16] = new Array("cval", "HP 51645A retail price", false, 0);
	distributorContactFields[17] = new Array("resale", "Inke resale price", false, 0);
	distributorContactFields[18] = new Array("rval", "Inke retail price", false, 0);
	distributorContactFields[19] = new Array("comments", "comments", false, -1);
	return distributorContactFields;
}

function requiredFeedbackFields() {
	var feedbackFields = new Array(11);
	// requiredFields[x] = new Array(fieldname, field label, isList, numChars)
	feedbackFields[0] = new Array("fullname", "full name", false, 0);
	feedbackFields[1] = new Array("emailaddress", "email address", false, 0);
	feedbackFields[2] = new Array("model", "refill system's model", true, 0);
	feedbackFields[3] = new Array("age", "age", true, 0);
	feedbackFields[4] = new Array("country", "country", true, 0);
	feedbackFields[5] = new Array("income", "monthly household income", true, 0);
	feedbackFields[6] = new Array("occupation", "occupation", true, 0);
	feedbackFields[7] = new Array("usage", "product usage", true, 0);
	feedbackFields[8] = new Array("generalexperience", "general experience", true, 0);
	feedbackFields[9] = new Array("likemost", "most liked feature", false, 0);
	feedbackFields[10] = new Array("dislikemost", "most disliked feature", false, 0);
	return feedbackFields;
}

function checkrequired(thisForm){
	var requiredFields;
	
	if (thisForm == "udetails") {
		requiredFields = requiredEnduserContactFields();
	} else if (thisForm == "rdetails") {
		requiredFields = requiredDistributorContactFields();
	} else if (thisForm == "feedback") {
		requiredFields = requiredFeedbackFields();
	} else {
		requiredFields = requiredWarrantyFields();
	}

	for (i=0;i<requiredFields.length;i++) {
		if (!requiredFields[i][2]) {
			if (eval("document." + thisForm + "." + requiredFields[i][0] + ".value") == "") {
				alert("Please enter your " + requiredFields[i][1] + ".");
				eval("document." + thisForm + "." + requiredFields[i][0] + ".focus()");
				return false;
			}
			// check field length limit
			if (requiredFields[i][3] != -1) {
				// ignore unlimited length fields
				if (requiredFields[i][3] == 0) {
					// this field can have a maximum of 255 characters
					if (eval("document." + thisForm + "." + requiredFields[i][0] + ".value.length") > 250) {
						alert("Please shorten your " + requiredFields[i][1] + ".");
						eval("document." + thisForm + "." + requiredFields[i][0] + ".focus()");
						return false;
					}
				} else if (eval("document." + thisForm + "." + requiredFields[i][0] + ".value.length") != requiredFields[i][3]) {
					// this field should only have the specified number of characters
					alert("Your " + requiredFields[i][1] + " should only have " + requiredFields[i][3] + " characters.");
					eval("document." + thisForm + "." + requiredFields[i][0] + ".focus()");
					return false;
				}
			}
		} else if (requiredFields[i][2] && (eval("document." + thisForm + "." + requiredFields[i][0] + ".value") == "-" || eval("document." + thisForm + "." + requiredFields[i][0] + ".value") == "")) {
			alert("Please select your " + requiredFields[i][1] + ".");
			eval("document." + thisForm + "." + requiredFields[i][0] + ".focus()");
			return false;
		}
	}
}

/**********************/
/* Contact form stuff */
/**********************/
function toggleHearAboutUsOther() {
	if (document.getElementById("hearaboutus").value == "other") {
		document.getElementById("hearaboutusother").disabled = false;
		document.getElementById("hearaboutusother").focus();
	} else {
		document.getElementById("hearaboutusother").disabled = true;
	}
	return true;
}

function enableHearAbourUsOther() {
	if (document.getElementById("hearaboutus").value != "other") {
		document.getElementById("hearaboutusother").value = document.getElementById("hearaboutus").value;
	}
	document.getElementById("hearaboutusother").disabled = false;
	return true;
}

/****************/
/* Search stuff */
/****************/
var models = new Array();
var printers = new Array();
var inke = new Array();

function searchPrinterSelect(x){
	for (m=document.browse.selectmodel.options.length-1;m>0;m--)
		document.browse.selectmodel.options[m]=null;
	for (i=0;i<models[x].length;i++){
		document.browse.selectmodel.options[i]=new Option(models[x][i].text,models[x][i].value);
	}
	document.browse.selectmodel.options[0].selected=true;
	document.browse.selectmodel.focus();
}

function searchModelSelect(x,y){
	for (m=document.browse.selectprinter.options.length-1;m>0;m--)
		document.browse.selectprinter.options[m]=null;
	for (i=0;i<printers[x][y].length;i++){
		document.browse.selectprinter.options[i]=new Option(printers[x][y][i].text,printers[x][y][i].value);
	}
	document.browse.selectprinter.options[0].selected=true;
	document.browse.selectprinter.focus();
}

function searchShowInke(x,y,z){
	document.browse.inkemodel.value=inke[x][y][z];
}


/*************************/
/* Switching stylesheets */
/*************************/
function setActiveStyleSheet(title) {
	var i, a, main;
	for (i=0;(a = document.getElementsByTagName("link")[i]);i++) {
		if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if (a.getAttribute("title") == title) a.disabled = false;
		}
	}
}

function getActiveStyleSheet() {
	var i, a;
	for (i=0;(a = document.getElementsByTagName("link")[i]);i++) {
		if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	}
	return null;
}

function getPreferredStyleSheet() {
	var i, a;
	for (i=0;(a = document.getElementsByTagName("link")[i]);i++) {
	if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") )
		return a.getAttribute("title");
	}
	return null;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i<ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

window.onload = function(e) {
	var cookie = readCookie("style");
	var title = cookie ? cookie : getPreferredStyleSheet();
	setActiveStyleSheet(title);
}

window.onunload = function(e) {
	var title = getActiveStyleSheet();
	createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
