/* ==========================================================
Steel Site Javascript

This file deals with cutting page script

author:    Matheu Niblett
website:   http://www.parkersteel.co.uk
============================================================ */

/* Control displaying features, specification and technical details. */
function showCutDetail(activeControl) {
	var cutDtl  = document.getElementById("cutTypeDetail");
	var cutBtn  = document.getElementById("cutTypeButton");
	var specDtl = document.getElementById("cutSpecDetail");
    var specBtn = document.getElementById("cutSpecButton");
    var descDtl = document.getElementById("cutDescDetail");
    var descBtn = document.getElementById("cutDescButton");
	if( activeControl == "type" ) {
		specDtl.style.visibility   = "hidden";
	  	specBtn.style.background   = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	specBtn.style.borderBottom = "1px solid #ccc";
	   	descDtl.style.visibility   = "hidden";
	  	descBtn.style.background   = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	descBtn.style.borderBottom = "1px solid #ccc";
	    cutDtl.style.visibility    = "visible";	
	    cutBtn.style.background    = "#062064 url(/media/images/header/menu-bg.gif) repeat-x";
	    cutBtn.style.borderBottom  = "1px solid #062064";
	} else if( activeControl == "spec" ) {
		cutDtl.style.visibility     = "hidden";
	  	cutBtn.style.background     = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	cutBtn.style.borderBottom   = "1px solid #ccc";
	   	descDtl.style.visibility    = "hidden";
	  	descBtn.style.background    = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	descBtn.style.borderBottom  = "1px solid #ccc";
		specDtl.style.visibility    = "visible";	
	    specBtn.style.background    = "#062064 url(/media/images/header/menu-bg.gif) repeat-x";
	    specBtn.style.borderBottom  = "1px solid #062064";
	} else if( activeControl == "desc" ) {
		cutDtl.style.visibility     = "hidden";
	  	cutBtn.style.background     = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	cutBtn.style.borderBottom   = "1px solid #ccc";
	   	specDtl.style.visibility    = "hidden";
	  	specBtn.style.background    = "#D3D3D3 url(/media/images/header/menu-bg-off.gif) repeat-x";
	   	specBtn.style.borderBottom  = "1px solid #ccc";
	   	descDtl.style.visibility    = "visible";	
	    descBtn.style.background    = "#062064 url(/media/images/header/menu-bg.gif) repeat-x";
	    descBtn.style.borderBottom  = "1px solid #062064";
	}
}


/* Pre-load linear & mitre images (for image swap). */  
function imagePreloader( linCode, linFile, mitCodes, mitFiles ) {
	var code = linCode; 
	linCode     = new Image(); 
    linCode.src = '/media/images/cutting/' + linFile;
    mitCode = new Array(); 
    mitCode = mitCodes.split("@"); 
    mitFile = mitFiles.split("@"); 
    for ( i = 0; i < mitCode.length-1; i++ ) {
        mitCode[i] = new Image();
        mitCode[i].src = '/media/images/cutting/' + mitFile[i]; 
    }
    mitreSelection( code, 'N', 'N' );
}


/* Handle mitre code selection */ 
function mitreSelection ( code, reqB, reqC ) {
	document.getElementById(code).checked = true;
	var image = document.getElementById("mainCutImage");
	image.src = '/media/images/cutting/' + code + '.gif';
	
	if ( reqB == "N" ) {
		document.getElementById('dimBid').value = "n/a";
		document.getElementById('dimBid').disabled = true;
	} else if ( document.getElementById('dimBid').value = "n/a" ) {
		document.getElementById('dimBid').value = "";
		document.getElementById('dimBid').disabled = false;
	}
	
	if ( reqC == "N" ) {
		document.getElementById('dimCid').value = "n/a";
		document.getElementById('dimCid').disabled = true;
	} else if ( document.getElementById('dimCid').value = "n/a" ) {
		document.getElementById('dimCid').value = "";
		document.getElementById('dimCid').disabled = false;
	}
    
	document.getElementById('dimAid').focus();
}


/* Validate cutting form entry */ 
function validateCutEntry (f,lMax,mMax) {
	var msg     = ""; 
	var qtyErr  = ""; 
	var dimAErr = "";
	var dimBErr = ""; 
	var dimCErr = ""; 
	
    // Validate dimension A. 
	if( f.dimA.value == "" ){
	    msg = " - Cut length \'a\' must be entered\n" ;
	    dimAErr = "Y";
	} else if( isNaN(f.dimA.value) ){
	    msg += " - Cut length \'a\' must be a number\n" ;
	    dimAErr = "Y";
	} else if( parseInt(f.dimA.value) < 1 ){
	    msg += " - Cut length \'a\' must be greater than 1mm\n" ;
	    dimAErr = "Y";
	} else if( f.dimB.value != "n/a" && parseInt(f.dimA.value) >= parseInt(mMax) ){
	    msg += " - Cut length \'a\' must be less than " + mMax + "mm\n" ;
	    dimAErr = "Y";
	} else if( f.dimB.value == "n/a" && parseInt(f.dimA.value) >= parseInt(lMax) ) {
		msg += " - Cut length \'a\' must be less than " + lMax + "mm\n" ;
		dimAErr = "Y";
	}
	
	// Validate dimension B. 
	if( f.dimB.value == "" ){
        msg += " - Angle \'b\' must be entered\n" ;
        dimBErr = "Y";
    } else if( f.dimB.value != "n/a" && isNaN(f.dimB.value) ){
        msg += " - Angle \'b\' must be a number\n" ;
        dimBErr = "Y";
    } else if( parseInt(f.dimB.value) > 60 || parseInt(f.dimB.value) < 0.5 ){
        msg += " - Mitre angle \'b\' must be between 0.5 and 60\n" ;
        dimBErr = "Y";
    }
	
	// Validate dimension C. 
	if( f.dimC.value == ""   ){
        msg += " - Angle \'c\' must be entered\n" ;
        dimCErr = "Y";
    } else if( f.dimC.value != "n/a" && isNaN(f.dimC.value) ){
        msg += " - Angle \'c\' must be a number\n" ;
        dimCErr = "Y";
    } else if( parseInt(f.dimC.value) > 60 || parseInt(f.dimC.value) < 0.5 ){
        msg += " - Mitre angle \'c\' must be between 0.5 and 60\n" ;
        dimCErr = "Y";
    }
	
	// Validate quantity. 
	if( f.qty_1.value == "" ){
        msg += " - Quantity required must be entered\n" ;
        qtyErr = "Y";
    } else if( isNaN(f.qty_1.value) ){
        msg += " - Quantity required must be a number\n" ;
        qtyErr = "Y"; 
    } else if( parseInt(f.qty_1.value) < 1 ) {
    	msg += " - Quantity required must be greater than zero\n" ; 	 
    	qtyErr = "Y"; 
    }
	
	// Output error message. 
	if( msg != "" ) { 
        alert( "Incorrect information.\nPlease correct the following to proceed:\n\n" + msg ) ;
        if (dimAErr == "Y") {
            f.dimA.focus();	
        } else if(dimBErr == "Y") {
        	f.dimB.focus();
        } else if(dimCErr == "Y") {
        	f.dimC.focus();
        } else if(qtyErr == "Y") {
        	f.qty_1.focus();
        }
        return false; 
	}
}






