var locationName = "/duspec/";

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;
        for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
        	x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
	var d=document;
        if(d.images){
          	if(!d.MM_p)
                	d.MM_p=new Array();
                var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
                for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){
                          d.MM_p[j]=new Image;
			d.MM_p[j++].src=a[i];
                }
        }
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function setKeyAndSubmitForm(buttonName,formname,validateItems,keyField,keyValue)
{
	eval("document."+formname+"."+keyField).value = keyValue;
        submitForm(buttonName, formname, validateItems);
}

function submitForm (buttonName, formname, validateItems)
{
	var myForm = eval("document."+formname);
  	if(validateItems!=null){
            if(!validateForm(formname, validateItems)){
            	return false;
            }
  	}
	if(buttonName!=null)
	{
		if(buttonName.toLowerCase()=="delete"){
			if (!confirm("Delete this item?")) {
				return false;
			}
		}
		myForm.action.value=buttonName;
	}
	myForm.submit();
}

function validateForm(formname,validationItemsIn)
{
	var i=0;
        var fieldValue;
        var fieldName;
        var fieldDisplayName;
	for(i=0; i<validationItemsIn.length; i++){
		fieldName = validationItemsIn[i][0];
		fieldDisplayName = validationItemsIn[i][1];
		if(validationItemsIn[i][2]=="CheckBox"){
			var checkedValueIndex=0;
			for(ii=0;ii<eval("document."+formname+"."+fieldName+".length");ii++){
				if(eval("document."+formname+"."+fieldName+"["+ii+"]").checked){
					checkedValueIndex++;
				}
			}
			if(checkedValueIndex==0){
				alert("Error: "+fieldDisplayName+" is mandatory");
				return false;
			}
		}
		else if(validationItemsIn[i][2]=="List"){
			var selIndex = eval("document."+formname+"."+fieldName).selectedIndex;
			if((selIndex==-1) || 
			   (selIndex!=-1) && (eval("document."+formname+"."+fieldName+"["+selIndex+"]").value)=="NULL"){
				alert("Error: "+fieldDisplayName+" selection is mandatory");
				return false;
			}
		}
		else{
      	          	fieldValue = eval("document."+formname+"."+fieldName+".value");
                         /*check for mandatory first*/
         		if(validationItemsIn[i][3]==true && (fieldValue==null || fieldValue=="")){
         			alert("Error: "+fieldDisplayName+" is mandatory");
                                 return false;
         		}
                         /*check for numerics*/
         		if(validationItemsIn[i][2]=="Number" && !(fieldValue==null || fieldValue=="")){
         			if(!checkForNumber(fieldValue)){
         				alert("Error: "+fieldDisplayName+" must be a number");
         				return false;
         			}
         		}
         		if(validationItemsIn[i][2]=="Number"){
                        	/*check for min nbr*/
	         		if(!(fieldValue==null || fieldValue=="")){
        	 			if(validationItemsIn[i][4]!=-1 && (fieldValue < validationItemsIn[i][4])){
         					alert("Error: "+fieldDisplayName+" must be greater than "+validationItemsIn[i][4]);
         					return false;
         				}
	         		}
        	                /*check for max nbr*/
         			if(!(fieldValue==null || fieldValue=="")){
                        	   	if(validationItemsIn[i][5]!=-1 && (fieldValue > validationItemsIn[i][5])){
	                             		alert("Error: "+fieldDisplayName+" must be less than "+validationItemsIn[i][5]);
        	                     		return false;
                	           	}
         			}
			}
			else{
                        	/*check for min length*/
	         		if(!(fieldValue==null || fieldValue=="")){
        	 			if(validationItemsIn[i][4]!=-1 && (fieldValue.length < validationItemsIn[i][4])){
         					alert("Error: "+fieldDisplayName+" must be at least "+validationItemsIn[i][4]+" characters long");
         					return false;
         				}
	         		}
        	                /*check for max length*/
         			if(!(fieldValue==null || fieldValue=="")){
                        	   if(validationItemsIn[i][5]!=-1 && (fieldValue.length > validationItemsIn[i][5])){
	                             alert("Error: "+fieldDisplayName+" can only be up to "+validationItemsIn[i][5]+" characters long");
        	                     return false;
                	           }
         			}
			}
		}
	}
        return true;
}



function printMessage(msg)
{
	if(msg!=null && msg!="" && msg!="null")
	{
		var startpos = msg.indexOf("PSQLException");
		if(startpos!=-1){
			msg = msg.substring(startpos+14);
		}
		alert(msg);
	}
}

function checkForNumber(theData)
{
	var i;
	for (i = 0; i < theData.length; i++){
		if (!isDigit(theData.charAt(i))){
			return false;
		}
	}
	return true;
}

function isDigit(theDigit)
{
	var digitArray = new Array('0','1','2','3','4','5','6','7','8','9', '.', '-', '+', '$');
	var j;

	for (j = 0; j < digitArray.length; j++)
	{if (theDigit == digitArray[j])
		return true;
	}
	return false;
}

function setDocumentTitle(searchCriteria)
{
	var currentTitle = document.title;
	if(searchCriteria!=null && searchCriteria!="" && searchCriteria!="null")
	{
		document.title=currentTitle + " [Search: "+ searchCriteria + "]";
	}
}

function openDocument(fnameToOpen)
{
	if(fnameToOpen!=null && fnameToOpen!="null" && fnameToOpen!="")
	{
		window.open("file/merge/"+fnameToOpen);
	}
}

function openNewsletterPage(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		alert("Newsletter is currently not available");
	}
	else{
		window.open("http://www.dulux.com.au");
	}
}

function openColourAwardsPage(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		window.open("http://www.dulux.co.nz/fr_professionals.htm");
	}
	else{
		window.open("http://www.dulux.com.au");
	}
}

function goToHomePage(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		window.location.href = "http://www.dulux.co.nz";
	}
	else{
		window.location.href = "http://www.dulux.com.au";
	}
}

function openHealthAndSafetyPage(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		window.open("http://www.dulux.co.nz/html/secondary/secondary.aspx?SecId=31e624ee-f811-45aa-ae0b-4f510acbac74");
	}
	else{
		window.open("http://www.dulux.com.au");
	}
}

function setNewsletterVisiblity(){
	var fullURL = document.URL;
	var tblRow;
	var tbl;
	if(fullURL.indexOf("com.au")==-1){
		tbl = document.getElementById('headerTable');
		if(tbl!=null){
 			tblRow = tbl.rows[0];
			if (navigator.userAgent.indexOf('Safari') != -1) {
				tblRow.children[2].style.display='none';
			}
			else{
				tblRow.cells[2].style.display='none';
			}
		}
	}
}

function setCountryDefault(){
	var fullURL = document.URL;
	var countryIn="AU";
	var listItem;
	if(fullURL.indexOf("co.nz") > 0){
		countryIn = "NZ";
	}
	else if(fullURL.indexOf("com.au") > 0){
		countryIn = "AU";
	}
	else{
		countryIn = "AU";
	}
	listItem = document.mainForm.countrySelection;
	if(listItem != null){
		for(var b=0; b<listItem.options.length; b++){
			if(listItem.options[b].value.substr(0,2)==countryIn){
				listItem.selectedIndex = b;
			}
		}
	}
}

function setupPage(){
	/*MM_preloadImages('images/CLIENTLO.GIF', 'images/COLOURA1.GIF', 'images/COLOURAW.GIF', 'images/HEASAF1.GIF', 'images/HEASAF2.GIF', 'images/HOMELINK.GIF', 'images/HPTITLE.GIF', 'images/IMAGE1.GIF', 'images/IMAGE2.GIF', 'images/IMAGE2.GIF', 'images/LINKS1.GIF', 'images/LINKS2.GIF', 'images/LOGOPANE.GIF', 'images/MAINTITL.GIF', 'images/NEWS1.GIF', 'images/NEWS2.GIF', 'images/PROFPAIN.GIF', 'images/QUICKSP1.GIF', 'images/QUICKSPE.GIF', 'images/SEARCHLI.GIF', 'images/SITEMAPL.GIF','images/data_access_images/DATASHE1.GIF', 'images/data_access_images/PROJBUI1.GIF', 'images/data_access_images/REPDET2.GIF', 'images/data_access_images/SPECSHE1.GIF', 'images/data_access_images/SURFPRE1.GIF', 'images/datasheets/DATASHEE.GIF', 'images/datasheets/DSEDITTI.GIF', 'images/datasheets/NEXT1.GIF', 'images/datasheets/Prec_limits.gif', 'images/datasheets/admin.gif', 'images/datasheets/applic_guide.gif', 'images/datasheets/dc4.gif', 'images/datasheets/fea_ben.gif', 'images/datasheets/general.gif', 'images/datasheets/health_safety.gif', 'images/datasheets/perf_guide.gif', 'images/datasheets/powder.gif', 'images/datasheets/trans_storage.gif', 'images/datasheets/typ_prop.gif', 'images/expansion_b.gif', 'images/expansion_t.gif', 'images/hor_buttons/approve.gif', 'images/hor_buttons/cancel.gif', 'images/hor_buttons/copy.gif', 'images/hor_buttons/create_pdf.gif', 'images/hor_buttons/delete.gif', 'images/hor_buttons/logout.gif', 'images/hor_buttons/new.gif', 'images/hor_buttons/next.gif', 'images/hor_buttons/return.gif', 'images/hor_buttons/save.gif', 'images/hor_buttons/search.gif', 'images/list_edit.gif', 'images/list_next.gif', 'images/list_prev.gif', 'images/list_view.gif', 'images/login_inputs/login.gif', 'images/login_inputs/password.gif', 'images/login_inputs/submit.gif', 'images/user_profile.gif', 'images/ver_buttons/administration.gif', 'images/ver_buttons/data_sheets.gif', 'images/ver_buttons/proj_builder.gif', 'images/ver_buttons/spec_sheets.gif', 'images/ver_buttons/surface_prep.gif');*/
	setNewsletterVisiblity();
}

function openContactPage(){
	window.open(locationName + "contact_us.html");
}

function openTutorialPage(){
	window.open(locationName + "tutorial_logged_in.html");
}

function goToDuspecHomePage(){
	window.location.href = locationName + "index.html";
}

function openLinksPage(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		window.location.href = locationName + "links_nz.htm";
	}
	else{
		window.location.href = locationName + "links.htm";
	}
}

function openLinksPageLoggedIn(){
	var fullURL = document.URL;
	if(fullURL.indexOf("com.au")==-1){
		window.open(locationName + "links_nz.htm");
	}
	else{
		window.open(locationName + "links.htm");
	}
}

function setupContacts(){
	var fullURL = document.URL;
	var colorCollatoralDiv;
	if(fullURL.indexOf("com.au")==-1){
		colorCollatoralDiv = document.getElementById('colorCollateralLink');
		if(colorCollatoralDiv!=null){
			colorCollatoralDiv.style.display='none';
		}
	}
}

// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function validateEmail(addr,man,db) {
if (addr == '' && man) {
   if (db) alert('email address is mandatory');
   return false;
}
var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
for (i=0; i<invalidChars.length; i++) {
   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
      if (db) alert('email address contains invalid characters');
      return false;
   }
}
for (i=0; i<addr.length; i++) {
   if (addr.charCodeAt(i)>127) {
      if (db) alert("email address contains non ascii characters.");
      return false;
   }
}

var atPos = addr.indexOf('@',0);
if (atPos == -1) {
   if (db) alert('email address must contain an @');
   return false;
}
if (atPos == 0) {
   if (db) alert('email address must not start with @');
   return false;
}
if (addr.indexOf('@', atPos + 1) > - 1) {
   if (db) alert('email address must contain only one @');
   return false;
}
if (addr.indexOf('.', atPos) == -1) {
   if (db) alert('email address must contain a period in the domain name');
   return false;
}
if (addr.indexOf('@.',0) != -1) {
   if (db) alert('period must not immediately follow @ in email address');
   return false;
}
if (addr.indexOf('.@',0) != -1){
   if (db) alert('period must not immediately precede @ in email address');
   return false;
}
if (addr.indexOf('..',0) != -1) {
   if (db) alert('two periods must not be adjacent in email address');
   return false;
}
var suffix = addr.substring(addr.lastIndexOf('.')+1);
if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
   if (db) alert('invalid primary domain in email address');
   return false;
}
return true;
}

function allFieldsNull(val1, val2, val3){
	if((val1==null || val1 == "") && (val2==null || val2 == "") && (val3==null || val3 == "")){
		return true;
	}
	else{
		return false;
	}
}
