﻿// 

function QuestionDetails(varObj){
	var Request=Object(varObj);

	if (Request.hide){
	
		ManageView(Request.hide,"hide");
	}
	
	if(Request.show){
		ManageView(Request.show,"show");
	}
	
	if (Request.disable){
	    SetStatus_FormElements(Request.disable,"disable");
	}
	if (Request.enable){
	    SetStatus_FormElements(Request.enable,"enable");
	}
}

function SetStatus_FormElements(varElementsStr,varStatusStr){
	var ElementsArr=new Array();
	var frmElemLength=0;
	ElementsArr=varElementsStr.split(',');
	frmElemLength=ElementsArr.length;
	
	for (var i=0;i<frmElemLength;i++){
	    formElementID=ElementsArr[i];
	    if (varStatusStr==="disable"){
	        DisableFormElement(formElementID);
	    }
	    if (varStatusStr==="enable"){
	        EnableFormElement(formElementID);
	    }
	}
}

function ManageView(varElementsStr,varType){
	var ElementsArr=new Array();
	ElementsArr=varElementsStr.split(',');

	arrLength=ElementsArr.length;
	for(var i=0;i<arrLength;i++){
		ElementID=ElementsArr[i];
		if (varType==="show"){
			ShowElement(ElementID);
		}
		if (varType==="hide"){
			HideElement(ElementID);
		}
	}
}

function DisableFormElement(varElementID){
    document.getElementById(varElementID).disabled=true;
}

function EnableFormElement(varElementID){
    document.getElementById(varElementID).disabled=false;
}

function HideElement(varElementID){
	document.getElementById(varElementID).style.display='none';
}
function ShowElement(varElementID){
	document.getElementById(varElementID).style.display='block';
}

function ShowHint(varObj,varHintText){
if(varObj.value==='') {varObj.value=varHintText}
}

function HideHint(varObj,varHintText){
if(varObj.value===varHintText) varObj.value=''}

function CheckAnswer(){
    frm=document.quest;
    frm.action="_response.asp";
    frm.target="_blank";
    frm.submit();
}

function CheckFrm(){
	frm=document.quest;
	if (empty(stripSpaces(frm.q_fname.value))){
		alert("Please enter your First name!");
		frm.q_fname.focus();
		return false;		
	}
	if (empty(stripSpaces(frm.q_lname.value))){
		alert("Please enter your Last name!");
		frm.q_lname.focus();
		return false;		
	}
	/*if (empty(stripSpaces(frm.q_company.value))){
		alert("Please enter your Company name!");
		frm.q_company.focus();
		return false;		
	}*/
	if (empty(stripSpaces(frm.q_email.value))){
		alert("Please enter your E-mail!");
		frm.q_company.focus();
		return false;		
	}
	if (empty(stripSpaces(frm.q_phone.value))){
		alert("Please enter your phone number!");
		frm.q_phone.focus();
		return false;		
	}

    //question 11
	if (empty(stripSpaces(frm.q_lic_qnt.value))) {
	    alert("Please enter how many end-user computers you plan to synchronize with the database!");
	    frm.q_lic_qnt.focus();
	    return false;
	}

	//question 12
	var q12_submitted = false;
	for (var i = 1; i <= frm.q_businessTitle_qnt.value; i++) {
	    
	    tmpObj = document.getElementById("cbx_businessTitle_" + i);
	    if (tmpObj.checked) {q12_submitted = true;  break;}
   
	}
	if (!q12_submitted) {
	    alert("Please select all entries that describe your current business title!");
	    frm.cbx_businessTitle_1.focus();
	    return false;
	}

	//question 13
	var q13_submitted = false;
	for (var i = 1; i <= 4; i++) {
	    tmpObj = document.getElementById("cbx_configuration_" + i);
	    if (tmpObj.checked) { q13_submitted = true; break; }
	}
	if (!q13_submitted) {
	    alert("Please specify who will be doing the Sync2DB configuring, adjusting and other implementing for your needs!");
	    frm.cbx_configuration_1.focus();
	    return false;
	}


	//question 14
	var q14_submitted = false;
	for (var i = 0; i <= 5; i++) {
	    if (frm.q_readDoc[i].checked) {
	        q14_submitted = true;
	        break;
	     }
	 }
	 if (!q14_submitted) {
	     alert("Please answer whether you've read Sync2DB Developer Quide!");
	     frm.q_readDoc[0].focus();
	     return false;
	  }

    //question 15
	if (empty(stripSpaces(frm.q_scenario.value))) {
	    alert("Please write your scenario in detail!");
	    frm.q_scenario.focus();
	    return false;
	}
	
	RemoveHints();
	return true;
	

}

function RemoveHints(){
	frm=document.quest;
	HintsArray=HintIndexesStr.split(',');
	for (var i=0;i<HintsArray.length;i++){
		HintKey=HintsArray[i];
		HintValue=Hints[HintKey];
		if(eval("frm."+HintKey+".value")===HintValue){
			frm_key=eval("frm."+HintKey);
			if(!frm_key.disabled){frm_key.value="";}
		}
		
				
	}
}

function stripSpaces(x) {
    while (x.substring(0,1) == ' ') x = x.substring(1);
    return x;
}

function empty(x) { if (x.length > 0) return false; else return true; }

function ManageQuestion4(varObj) {

    if (varObj.value === 'Other') { QuestionDetails({ show: 'div_contactOS2_details_2', enable: 'q_contactOS_version2_details' }) } else { QuestionDetails({ hide: 'div_contactOS2_details_2', disable: 'q_contactOS_version2_details' }) }
    if ((varObj.value === 'Windows NT 3.5 or Windows NT 4.0') || (varObj.value === 'Windows 2000 or Windows ME') || (varObj.value === 'Windows XP') || (varObj.value === 'Windows Server 2003 or Windows Home Server') || (varObj.value === 'Windows Vista') || (varObj.value === 'Windows Server 2008') || (varObj.value === 'Windows 7') || (varObj.value === 'Other')) {
        QuestionDetails({ show: 'div_contactOS_platform', enable: '32bit,64bit,platform_doknow' });
    }
    else {
        QuestionDetails({ hide: 'div_contactOS_platform', disable: '32bit,64bit,platform_doknow' });
    }
}

function ShowTitle_q5(varObjID) {
    var showtitle = false;
    for (var i = 3; i <= 10; i++) {
        tmpObj = document.getElementById("cbx_q_userOS_details" + i);
        if (tmpObj.checked) {
            showtitle = true;
            //break;
        }
    }
    if (showtitle) {
        document.getElementById(varObjID).style.display = 'block';
    }
    else {
        document.getElementById(varObjID).style.display = 'none';
    }

}

function RequestPrice(varInputRequestObj,varSpanID,varInputResponseID) {

    var updatedSpan = document.getElementById(varSpanID);
    var updatedHiddenItem = document.getElementById(varInputResponseID);
    var requestInput = varInputRequestObj.value;

    if (requestInput != "") {
        if (requestInput.startsWith("-")){
            requestInput=1;
             varInputRequestObj.value = 1;
        }
        check = validateInt(requestInput);
        if (!check) {
            varInputRequestObj.value = 1;
            requestInput = 1;
        }
    }
   
    var url = '_responsePrice.asp';
    var querystring = '?q_lic_qnt=' + requestInput + '&server_currency=USD';
    ajaxRequest = new Ajax.Request(url + querystring, {
        method: 'get',
        onSuccess: function(transport) {
            var response = transport.responseText;
            updatedSpan.innerHTML = '$' + response;
            updatedHiddenItem.value = response;
        }
    });

}

function validateInt(iString) {
    // no leading 0s allowed
    return (("" + parseInt(iString)) == iString);
}
 
