
var secretSKCode = 011258 ;
var lastSINValue = 0 ;
var lastActCode  = 0 ;

var oddEvenCnt = 0 ;

var 	gCustomerNum ;
var 	gInstName ;
var 	gInstPhone ;
var 	gInstEmail ;
var 	gJobDesc ;
var     sessionId ;


function CreateXHR(){
	try { return new XMLHttpRequest(); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
	
	document.getElementById("output").innerHTML = "CreateXHR Error" ;

	return null ;
}

// *************************************************************************
// *************************************************************************

function RequestPassCode() {

   lastSINValue    = document.SNReq.SNin.value ;
	SNinValue      = "SN_IN=" + lastSINValue ;

	var xhr = CreateXHR() ;
//    alert("RequestPassCode") ;

	if (xhr) {
		xhr.open("POST", "MS.php") ;
		xhr.onreadystatechange = function() {PassCodeCallBackResponse(xhr);}
		xhr.setRequestHeader("Content-type", "application/X-www-form-urlencoded") ;
		xhr.send( SNinValue ) ;
	}
}

function StoreSessionCallBackResponse(xhr){

	if(xhr.readyState == 4 && xhr.status == 200 ) {
        var parsedResponse = xhr.responseText.split('~') ;
        sessionId = parsedResponse[1] ;
//        alert ( "sessionId: " + sessionId ) ;
    }
}

function PassCodeCallBackResponse(xhr){

//alert("PassCodeCallBackResponse") ;

	if(xhr.readyState == 4 && xhr.status == 200 ) {
		var parsedResponse = xhr.responseXML ;	

    	$('#output').show('slow') ;

        var parsedResponse = xhr.responseText ;

        lastActCode = parsedResponse ;

//        alert("lastActCode: " + lastActCode) ;

		if ((oddEvenCnt++ % 2 ) == 0) {
			document.getElementById("output").innerHTML += "<span class='blueBack'>"  + lastSINValue + " / " + lastActCode + "</span>" ;
		}
		else {
			document.getElementById("output").innerHTML += "<span class='whiteBack'>" + lastSINValue + " / " + lastActCode + "</span>" ;
		}

        PostSQLReq( "lac" ) ;
	}
}

// *************************************************************************
// *************************************************************************


function PostSQLReq( cmd ) {

//alert("PostSQLReq: " + cmd) ;



	var xhr = CreateXHR() ;
    var psrValue ;


	if (xhr) {

        xhr.open("POST", "ProcessSQLReq.php") ;
        xhr.setRequestHeader("Content-type", "application/X-www-form-urlencoded") ;

        switch (cmd) {

        case 'cid':
            psrValue             = "rqt=vcid&cid=" + document.ASForm.CNum.value ;
            xhr.onreadystatechange  = function() {VerifyCustomerCallBackResponse(xhr);}
            xhr.send( psrValue ) ;

            break ;

        case 'sjd':
            psrValue             = "rqt=sjd" ; // Store Job Description
            psrValue            += "&cn=" + gCustomerNum ;
            psrValue            += "&pn=" + gpanNum ;
            psrValue            += "&rt=" + gretrofit ;
            psrValue            += "&nc=" + gnewConst ;
            xhr.onreadystatechange = function() {StoreSessionCallBackResponse(xhr);}
            xhr.send( psrValue ) ;
            break ;

        case 'cn':
            psrValue             = "rqt=vcn&cn=" + document.ASForm.CustomerNum.value ;
            xhr.onreadystatechange  = function() {VerifyCustomerCallBackResponse(xhr);}
            xhr.send( psrValue ) ;
            break ;

        case 'sii':
            psrValue             = "rqt=sii" ;
            psrValue            += "&cn=" + gCustomerNum ;
            psrValue            += "&in=" + gInstName ;
            psrValue            += "&ip=" + gInstPhone ;
            psrValue            += "&ie=" + gInstEmail ;
            psrValue            += "&jd=" + gJobDesc ;
            xhr.onreadystatechange = function() {PostSQLReqDefaultCallBackResponse(xhr);}
            xhr.send( psrValue ) ;
            break ;

        case 'lac':
            psrValue             = "rqt=lac" ;
            psrValue            += "&cn=" + gCustomerNum ; 
            psrValue            += "&si=" + sessionId ; 
            psrValue            += "&sn=" + lastSINValue ;
            psrValue            += "&ac=" + lastActCode ;

//            alert("psrValue: " + psrValue) ;

            xhr.onreadystatechange = function() {PostSQLReqDefaultCallBackResponse(xhr);}
            xhr.send( psrValue ) ;
            break ;

        default:
            break ;
        }

	}


}

function PostSQLReqDefaultCallBackResponse(xhr) {


	if(xhr.readyState == 4 && xhr.status == 200 ) {

        var parsedResponse = xhr.responseText.split('~') ;

        switch (parsedResponse[0]) {
        case "sii":
            sessionId = parsedResponse[1] ;

// alert ( "sessionId: " + sessionId ) ;

            break ;
        default:
            break ;
        }


	}
}

function VerifyCustomerCallBackResponse(xhr){


	if(xhr.readyState == 4 && xhr.status == 200 ) {

        parsedResponse = xhr.responseText.split('~') ;

        if (confirm("Is this company correct?: " + parsedResponse[1])==true) {

            if (parsedResponse[0] != 0) {

				$('#CustomerInfo').hide(1000) ;
				$('#JD').show(1000) ;
				$('#PTP').show(1000) ;  

                document.getElementById("ICI").innerHTML  = parsedResponse[1] + "<br>" ;
                document.getElementById("ICI").innerHTML += parsedResponse[2] + "<br>" ;
                document.getElementById("ICI").innerHTML += parsedResponse[3] + ", " ;
                document.getElementById("ICI").innerHTML += parsedResponse[4] + " " ;
                document.getElementById("ICI").innerHTML += parsedResponse[5] + "<br><br>" ;

            }
            else {
                alert("Invalid Customer Number - Please Verify Customer ID or Call Silent Knight Technical Support.") ;
            }
        }
        else {
            alert("Please re-enter Customer Number.") ;
        }
	}
}



