﻿// AFTERMARKET - Functions

// TopMenu MouseOver Icons change
function overMenuIcons (menuName)
{
	var imageName = 'img_' + menuName;
	var overImageSRC = '/images/layout/' + menuName + '_over.gif';
	document.getElementById(imageName).src = overImageSRC;
}
function offMenuIcons (menuName)
{
	var imageName = 'img_' + menuName;
	var offImageSRC = '/images/layout/' + menuName + '.gif';
	document.getElementById(imageName).src = offImageSRC;
}

// Currently not in use - Method uses a new request and a query string to change the classes
// This is due to the functions of the forms which re-submit and don't display.
function getElementsByClassName(node, classname)
{
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}
function releaseForms(clicked)
{
	var currentSection = clicked+'Form';
		
	// Hide all content divs and reset Tab styling
	var elems = getElementsByClassName(document, 'formOpen')
     for(var i = 0; i < elems.length; i++)
     {
        elems[i].className = 'formClose'
     }
	
	// Change current Tab and Show current Tab content
	document.getElementById(currentSection).className = 'formOpen';
	loadInSIFR();
}


function loadInSIFR(){
	var centurygothiccenter = {
    src: '/ewcommon/fonts/impact-center.swf'
    ,ratios: [6,1.32,7,1.28,8,1.31,9,1.27,10,1.25,11,1.24,12,1.23,13,1.22,14,1.21,15,1.2,16,1.22,17,1.2,18,1.2,19,1.19,20,1.19,21,1.18,22,1.18,23,1.19,24,1.19,25,1.18,26,1.18,27,1.18,28,1.17,29,1.17,30,1.16,31,1.18,32,1.17,33,1.17,34,1.16,35,1.17,36,1.16,37,1.16,38,1.16,39,1.17,40,1.16,41,1.16,42,1.16,43,1.16,44,1.16,45,1.15,46,1.16,47,1.16,48,1.16,49,1.16,50,1.16,51,1.15,52,1.15,53,1.15,54,1.16,55,1.15,56,1.15,57,1.15,58,1.15,59,1.15,60,1.15,61,1.15,62,1.15,63,1.15,64,1.15,65,1.15,66,1.15,67,1.15,68,1.15,69,1.15,70,1.15,71,1.15,72,1.15,73,1.15,74,1.15,76,1.14,77,1.15,78,1.15,80,1.15,81,1.15,82,1.14,83,1.14,84,1.14,85,1.15,86,1.15,87,1.14,88,1.15,89,1.14,90,1.14,91,1.14,92,1.15,93,1.14,94,1.14,95,1.14,96,1.14,97,1.14,98,1.14,99,1.14,100,1.14,101,1.14,102,1.14,103,1.14,104,1.14,105,1.14,106,1.14,107,1.14,108,1.14,109,1.14,110,1.14,111,1.14,112,1.14,113,1.14,114,1.14,115,1.14,116,1.14,117,1.14,118,1.14,119,1.14,120,1.14,121,1.14,122,1.14,123,1.14,124,1.14,1.14]
  };
  
   var centurygothic = {
    src: '/ewcommon/fonts/impact.swf'
    ,ratios: [6,1.32,7,1.35,8,1.31,9,1.28,10,1.26,11,1.25,12,1.24,13,1.23,14,1.25,15,1.23,16,1.23,17,1.22,18,1.21,19,1.21,20,1.2,21,1.21,22,1.2,23,1.2,24,1.2,25,1.19,26,1.19,27,1.18,28,1.19,29,1.19,30,1.19,31,1.19,32,1.18,33,1.18,34,1.19,35,1.18,36,1.18,37,1.18,38,1.18,39,1.18,40,1.17,41,1.18,42,1.18,43,1.17,44,1.17,45,1.17,46,1.17,47,1.17,48,1.18,49,1.17,50,1.17,51,1.17,52,1.17,53,1.17,54,1.17,55,1.17,56,1.17,57,1.17,58,1.17,59,1.17,60,1.17,61,1.16,62,1.17,63,1.17,64,1.17,65,1.17,66,1.16,67,1.16,68,1.17,69,1.17,70,1.16,71,1.16,72,1.16,73,1.16,74,1.16,75,1.17,76,1.16,77,1.16,78,1.16,79,1.16,80,1.16,81,1.16,82,1.16,83,1.16,84,1.16,85,1.16,86,1.16,87,1.16,88,1.16,89,1.16,90,1.16,91,1.16,92,1.16,93,1.16,94,1.16,95,1.16,96,1.16,97,1.16,98,1.16,99,1.16,100,1.16,101,1.16,102,1.16,103,1.16,104,1.16,105,1.16,106,1.16,107,1.16,108,1.16,109,1.16,110,1.16,111,1.16,113,1.16,114,1.16,115,1.16,116,1.16,117,1.16,118,1.16,119,1.16,120,1.16,121,1.16,122,1.16,123,1.16,124,1.16,1.16]
  };
  
   var centurygothicright = {
    src: '/ewcommon/fonts/impact-right.swf'
    };

  sIFR.debugMode = true;
  sIFR.delayCSS  = true;
  sIFR.activate(centurygothiccenter, centurygothic, centurygothicright);
  
  //sIFR.debug.ratios({ src: '/ewcommon/fonts/century-gothic.swf', selector: 'h1' });
  
  sIFR.replace(centurygothicright, {
    selector: '.box h2.title'
    ,wmode: 'transparent'
    ,css: [
    	'.sIFR-root {color:#ffffff;font-size:21px;}',
      ,'a { text-decoration: none; }'
      ,'a:link { color: #d5342c; }'
      ,'a:hover { color: #555555; }'
    ]
  });
  
  sIFR.replace(centurygothic, {
    selector: '.Site .formMainTable .group .group h3'
    ,wmode: 'transparent'
    ,css: [
    	'.sIFR-root {color:#D00404;font-size:16px;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #D00404; }'
      ,'a:hover { color: #D00404; }'
    ]
  });
  
  sIFR.replace(centurygothicright, {
    selector: '.Site .formMainTable h3'
    ,wmode: 'transparent'
    ,css: [
    	'.sIFR-root {color:#ffffff;font-size:21px;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #d5342c; }'
      ,'a:hover { color: #555555; }'
    ]
  });
  
  sIFR.replace(centurygothic, {
    selector: 'h1.pageTitle'
    ,wmode: 'transparent'
    ,css: [
    	'.sIFR-root {color:#ffffff;font-size:21px;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #d5342c; }'
      ,'a:hover { color: #555555; }'
    ]
  });
  
}

function displayContent(element1,element2){
	document.getElementById(element1).style.display = 'inline';
	document.getElementById(element2).style.display = 'inline';
}
function hideContent(element1,element2){
	document.getElementById(element1).style.display = 'none';
	document.getElementById(element2).style.display = 'none';
}

/* ============================== CHECK JS FOR REGISTER FORM ============================== */

function form_check_register(oForm) {
	var oElem, i,bValid,cCheckRadio,cTestName,oOptions,bSelected, nElemTypeGroup, cId, cName;
	var aRadioCheck = new Array();
	var bHasDisabledButton = false
	bValid = true;
	
	if (bValid) {
	    bValid = form_check_activities(oForm);
	}
	for (i=0; i<oForm.length;i++ ) {
		oElem = oForm.elements[i]
		
		switch (oElem.type) {
			case "text": nElemTypeGroup = 1; break;
			case "textarea": nElemTypeGroup = 1; break;
			case "checkbox": nElemTypeGroup = 3; break;
			case "radio": nElemTypeGroup = 3; break;
			case "select-one": nElemTypeGroup = 2; break;
			case "select-multiple": nElemTypeGroup =2; break;
			default: nElemTypeGroup = 1; break;
		}
		// Check if the element is required
		if (oElem.className.toLowerCase().indexOf("required")>=0) {
			switch (nElemTypeGroup) {
			
				case 1:
					if (form_check_value(oElem.value)) {
						form_alert("required",oElem)
						bValid = false
					}
					break;
				case 2: 
					if (oElem.selectedIndex < 0) {
						form_alert("required",oElem)
						bValid = false						
					}
					else if (form_check_value(oElem.options[oElem.selectedIndex].text)) {
						form_alert("required",oElem)
						bValid = false					
					}
					break;					
				case 3:
					// Check if the checkbox group has already been checked through
					cCheckRadio = "," + aRadioCheck.join(",") + ","
					cTestName = "," + oElem.name + ","
					if (cCheckRadio.indexOf(cTestName)<0) {
						
						// Not found - let's do the checks
						aRadioCheck.push(oElem.name)
						oOptions = document.getElementsByName(oElem.name)
						bSelected = false;
						if (oOptions.length>1) {
							for (i=0; i<oOptions.length;i++) { if(oOptions[i].checked) { bSelected = true; break } }
						}
						if (!bSelected && oOptions.length>1) {
							form_alert("required",oElem)
							bValid = false	
						}
					}
					break;		
			}
			if (!bValid) { break }
		}
	}
	if (bValid) {
		for (i=0; i<oForm.length;i++ ) {
			oElem = oForm.elements[i]		
			if (nElemTypeGroup == 1) {
				if (form_check_value(oElem.value)) {oElem.value = '';}
			}
		}
	}
	
	if (bValid) {
		// Check for Disabled Buttons
		for (i=0; i<oForm.length;i++ ) {
			oElem = oForm.elements[i];
			if (oElem.type=="hidden" && oElem.id.indexOf("ewSubmitClone_")==0) {
				cId = oElem.id.replace(/ewSubmitClone_/,"")
				cName = oElem.name.replace(/ewSubmitClone_/,"")
				form_disable_button(oForm,cId,cName)
				oElem.id=cId
				oElem.name=cName
				bHasDisabledButton = true;
			}
		}
		
		if (bHasDisabledButton) {
			for (i=0; i<oForm.length;i++ ) {
				oElem = oForm.elements[i];
				if (oElem.type=="submit" || oElem.type=="button") {oElem.disabled=true;}
			}
		}	
	}
	return bValid;
}

/* ============================== CHECK JS FOR To check at least one check box selected ============================== */

// Checks that at least one activity has been ticked
function form_check_activities(oForm) {
    var oTds = oForm.getElementsByTagName('td');
    var countInputs = 0;
    bValid = true
    
    for (g=0; g<oTds.length;g++ ) {
        if (oTds[g].className == 'group businessActivity'){
        
            var oInputs = oTds[g].getElementsByTagName('input');
            
            for (i=0; i<oInputs.length;i++)
            {
                if (oInputs[i].checked){
                    countInputs++;
                }
            }
        }
    }
    if (countInputs == 0){
        alert('You must select at least ONE Business Activity');
        bValid = false;
    }   
    return bValid;
}


/* ============================== CHECK JS FOR ABC REGISTER FORM ============================== */

function form_check_ABCregister(oForm) {
	var oElem, i,bValid,cCheckRadio,cTestName,oOptions,bSelected, nElemTypeGroup, cId, cName;
	var aRadioCheck = new Array();
	var bHasDisabledButton = false
	bValid = true;
	
	if (bValid) {
	    bValid = form_check_ABCactivities(oForm,'group businessActivity');
	}
	if (bValid) {
	    bValid = form_check_ABCactivities(oForm,'group response4buying');
	}
	if (bValid) {
	    bValid = form_check_ABCactivities(oForm,'group vehicleMarket');
	}
	
	for (i=0; i<oForm.length;i++ ) {
		oElem = oForm.elements[i]
		
		switch (oElem.type) {
			case "text": nElemTypeGroup = 1; break;
			case "textarea": nElemTypeGroup = 1; break;
			case "checkbox": nElemTypeGroup = 3; break;
			case "radio": nElemTypeGroup = 3; break;
			case "select-one": nElemTypeGroup = 2; break;
			case "select-multiple": nElemTypeGroup =2; break;
			default: nElemTypeGroup = 1; break;
		}
		// Check if the element is required
		if (oElem.className.toLowerCase().indexOf("required")>=0) {
			switch (nElemTypeGroup) {
			
				case 1:
					if (form_check_value(oElem.value)) {
						form_alert("required",oElem)
						bValid = false
					}
					break;
				case 2: 
					if (oElem.selectedIndex < 0) {
						form_alert("required",oElem)
						bValid = false						
					}
					else if (form_check_value(oElem.options[oElem.selectedIndex].text)) {
						form_alert("required",oElem)
						bValid = false					
					}
					break;					
				case 3:
					// Check if the checkbox group has already been checked through
					cCheckRadio = "," + aRadioCheck.join(",") + ","
					cTestName = "," + oElem.name + ","
					if (cCheckRadio.indexOf(cTestName)<0) {
						
						// Not found - let's do the checks
						aRadioCheck.push(oElem.name)
						oOptions = document.getElementsByName(oElem.name)
						bSelected = false;
						if (oOptions.length>1) {
							for (i=0; i<oOptions.length;i++) { if(oOptions[i].checked) { bSelected = true; break } }
						}
						if (!bSelected && oOptions.length>1) {
							form_alert("required",oElem)
							bValid = false	
						}
					}
					break;		
			}
			if (!bValid) { break }
		}
	}
	if (bValid) {
		for (i=0; i<oForm.length;i++ ) {
			oElem = oForm.elements[i]		
			if (nElemTypeGroup == 1) {
				if (form_check_value(oElem.value)) {oElem.value = '';}
			}
		}
	}
	
	if (bValid) {
		// Check for Disabled Buttons
		for (i=0; i<oForm.length;i++ ) {
			oElem = oForm.elements[i];
			if (oElem.type=="hidden" && oElem.id.indexOf("ewSubmitClone_")==0) {
				cId = oElem.id.replace(/ewSubmitClone_/,"")
				cName = oElem.name.replace(/ewSubmitClone_/,"")
				form_disable_button(oForm,cId,cName)
				oElem.id=cId
				oElem.name=cName
				bHasDisabledButton = true;
			}
		}
		
		if (bHasDisabledButton) {
			for (i=0; i<oForm.length;i++ ) {
				oElem = oForm.elements[i];
				if (oElem.type=="submit" || oElem.type=="button") {oElem.disabled=true;}
			}
		}	
	}
	return bValid;
}

// Checks that at least one activity has been ticked
function form_check_ABCactivities(oForm,group) {
    var oTds = oForm.getElementsByTagName('td');
    var countInputs = 0;
    bValid = true
    
    for (g=0; g<oTds.length;g++ ) {
        if (oTds[g].className == group){
        
            var oInputs = oTds[g].getElementsByTagName('input');
            
            for (i=0; i<oInputs.length;i++)
            {
                if (oInputs[i].checked){
                    countInputs++;
                }
                
            }
        }
    }
    if (countInputs == 0){
    
        if (group == 'group businessActivity') {
            alert('You must select at least ONE Activity of Organisation. \n\n If your activity is not listed, please tick "Other (please specify)" and specify below.');
        }
        if (group == 'group response4buying') {
            alert('You must select at least ONE Responsibility for buying. \n\n If your responsibility is not listed, please tick "Other (please specify)" and specify below. \n\n If you have no buying responsibilities please tick "No buying responsibilty"');
        }
        if (group == 'group vehicleMarket') {
            alert('You must select at least ONE Vehicle Market your company serves. \n\n If your market is not listed, please tick "Other (please specify)" and specify below.');
        }
        bValid = false;
    }   
    return bValid;
}