// sets the variable
var uploadIdRunning = false;
var tTimeout;
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}

// gets the current upload status
function getUploadStatus(pId,fId){
	if(uploadIdRunning == true){
		var currentTime = new Date();
		var loaderDiv = document.getElementById("DetailQuotationLoaderText" + fId)
		xmlhttp.open("GET", "/include/fileupload/uploadfile_progress.asp?progressid="+pId+"",true);			
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				if(uploadIdRunning == true){
					loaderDiv.className = 'LoaderGif';
					loaderDiv.innerHTML = xmlhttp.responseText;
				}
			}
		}
		xmlhttp.send(null)
		tTimeout = setTimeout("getUploadStatus("+pId+","+fId+");",1000);
  }
}

// resets the file upload form
function ResetForm(formName){
    if(formName == 'TestPicture'){
        var objFormatRadio = document.getElementsByName('TestPictureFormatRadio');
    	for(var i = 0; i < objFormatRadio.length; i++) {
	        objFormatRadio[i].checked = false;
        }
        // get color value
        var strColor;
        var objColorRadio = document.getElementsByName('TestPictureColorRadio');
    	for(var i = 0; i < objColorRadio.length; i++) {
    	    objColorRadio[i].checked = false;
        }
        document.getElementById('TestPictureAttachedFiles').innerHTML = '';
        document.getElementById('TestPictureLoaderText').innerHTML = '';
        document.getElementById('TestPictureFile').value = '';
    }else if(formName == 'DetailQuotation'){
        var loaderName;
        var loaderFileUpload;
        var objCheckBox;
        var objQuant;
        var objText;
        // loop all upload fields and reset them
        for(var i = 1; i < 9; i++) {
            loaderName = 'DetailQuotationLoaderText' + i;
            document.getElementById(loaderName).innerHTML = '';

            loaderFileUpload = 'DetailQuotationFile' + i;
            document.getElementById(loaderFileUpload).style.display = "block";
            document.getElementById(loaderFileUpload).value = '';

            objCheckBox = 'DetailQuotationCheckbox' + i;
            document.getElementById(objCheckBox).checked = false;

            objQuant = 'DetailQuotationQuant' + i;
            document.getElementById(objQuant).value = '';

            objText = 'DetailQuotationText' + i;
            document.getElementById(objText).value = '';
        }

        // reset quotation day
        document.getElementById('DetailQuotationDay').value = '';

    }

    // reset gener values
    document.getElementById('CustomerInfoFiles').value = '';
    document.getElementById('CustomerInfoForm').reset();
}

// submits the form
function SubmitForm(formName){
    var formisvalid = CheckMustFields(formName);
    var strSubject
    var strMessage

    if(formisvalid == true){
        // get extra file information
        var objSubject = document.getElementById('Subject');

        // get general contact
        if(objSubject.options[objSubject.selectedIndex].value == 'General'){
            strSubject = "General Contact\n"
            strMessage = "Name: " + document.getElementById('GeneralFormName_must').value + '\n';
            strMessage += "Email: " + document.getElementById('GeneralFormEmail_must').value + '\n';
            strMessage += "Comments:\n" + document.getElementById('GeneralFormComments').value + '\n';
            strConfirmationText = strConfirmationText1;

        // get detail quotation information
        }else if(objSubject.options[objSubject.selectedIndex].value == 'DetailQuotation'){
            strSubject = "Detail Quotation\n"
            var objFileName;
            var objCheckBox;
            var objQuant;
            var objText;
            var strFileInfo;
            document.getElementById('CustomerInfoFiles').value = '';
            // loop all upload fields and reset them
            for(var i = 1; i < 9; i++) {
                // check if checkbox is clicked.
                objCheckBox = 'DetailQuotationCheckbox' + i;
                if(document.getElementById(objCheckBox).checked == true){
                    // set tpe of work
                    strFileInfo = document.getElementById(objCheckBox).value + '\n';

                    // set quantity
                    objQuant = 'DetailQuotationQuant' + i;
                    strFileInfo += document.getElementById(objQuant).value  + ' x ';
										
					objFileName = 'DetailQuotationLoaderText' + i;
                    strFileInfo += strImageLocationPath + document.getElementById(objFileName).innerHTML + '\n';

                    objText = 'DetailQuotationText' + i;
                    strFileInfo += 'Comment:\n' + document.getElementById(objText).value  + '\n\n';

                    document.getElementById('CustomerInfoFiles').value += strFileInfo;
                }
            }
            // get time
            var strTime;
            strTime = document.getElementById('DetailQuotationDay').value + 'days';

            strMessage = GetCustomerInfo() + '\n';
            strMessage += document.getElementById('CustomerInfoFiles').value + '\n'
            strMessage += 'Time: ' + strTime;

            strConfirmationText = strConfirmationText2;
        }
        // submit form
        document.getElementById('FBFORM').value = objSubject.options[objSubject.selectedIndex].value;
        document.getElementById('FBSUBJECT').value = strSubject + strLang;
        document.getElementById('FBLANGUAGE').value = strLang;
        document.getElementById('FBMESSAGE').value = strMessage;
        document.getElementById('SendMail').submit();
    }
}

// set the sent mail
function MailConfimation(sentMail,message){
    if (sentMail){
	    window.location = "http://www.digital-media-tech.com" + message;
	}else{
		document.getElementById('FormPanel').style.display = "none";
		document.getElementById('ConfirmationPanel').style.display = "block";
        document.getElementById('ConfirmationPanel').innerHTML = "Error sending Email:<br>" + message;
    }
    scroll(0,0);
}

// get all the form information about the customer
function GetCustomerInfo(){
    var cInfo
    var objTitle = document.getElementsByName('CustomerInfoFormTitle');
    for (var i=0; i < objTitle.length; i++){
       if (objTitle[i].checked){
          cInfo = "Title: " + objTitle[i].value + '\n';
       }
    }
    cInfo = "First Name: " + document.getElementById('CustomerInfoFormFirstName_must').value + '\n'
    cInfo += "Last Name: " + document.getElementById('CustomerInfoFormLastName_must').value + '\n'
    cInfo += "Email: " + document.getElementById('CustomerInfoFormEmail_must').value + '\n'
    cInfo += "Phone: " + document.getElementById('CustomerInfoFormPhone_must').value + '\n'
    cInfo += "Skype Name: " + document.getElementById('CustomerInfoFormAccount').value + '\n'
    cInfo += "FAX: " + document.getElementById('CustomerInfoFormFax').value + '\n'
    cInfo += "Company Name: " + document.getElementById('CustomerInfoFormCompany_must').value + '\n'
    cInfo += "Address: " + document.getElementById('CustomerInfoFormAddress').value + '\n'
    cInfo += "Country: " + document.getElementById('CustomerInfoFormCountry').value + '\n'
    cInfo += "City: " + document.getElementById('CustomerInfoFormCity').value + '\n'
    cInfo += "Postal Code: " + document.getElementById('CustomerInfoFormPostalCode').value + '\n'

    return cInfo;
}

// check if form is valid
function CheckMustFields(formName){
	
	  //alert (strisLoading);
    // set value true defualt
    var formisvalid = true
    var requiredField = formName + 'RequiredField';

    // loop throu form
    for(i=0; i<document.forms[formName].elements.length; i++){
        // check if is must field
        if(document.forms[formName].elements[i].name.indexOf('_must') > -1 ){
            // check if email
            if(document.forms[formName].elements[i].name.indexOf('Email') > -1){
                // validate email adress
                formisvalid = ValidateMailAddress(document.forms[formName].elements[i].value);

                // check if mail is valid
                if(formisvalid == false){
                    document.getElementById(requiredField).innerHTML = strErrorMail
                }
                // exit loop
                break;
            }else{
                // check if empty
                if(document.forms[formName].elements[i].value.length < 1){
                    // form is not valid
                    formisvalid = false;

                    // set message
                    document.getElementById(requiredField).innerHTML = strRequiredFields

                    // exit loop
                    break;
                }
            }
        }
    }
    
    /*--------------------------------------------------------------------*/
        if(uploadIdRunning == true){
        	formisvalid = false;
        	alert (strisLoading)
        	//document.getElementById(requiredField).innerHTML = strisLoading;
        }

    // check if a file is attached for detialed quotation
    var objSubject = document.getElementById('Subject');
    var intFiles = 0;
    if(objSubject.options[objSubject.selectedIndex].value == 'DetailQuotation' && formisvalid == true){
        for(var i = 1; i < 9; i++) {
            // check if checkbox is clicked.
            objCheckBox = 'DetailQuotationCheckbox' + i;
            if(document.getElementById(objCheckBox).checked == true){
                intFiles = intFiles + 1;
            }
        }
        if(intFiles == 0){
            formisvalid = false;
            document.getElementById(requiredField).innerHTML = strNoFile;
            //alert (strNoFile)
        }
        
    }

    // check if test was successful
    if(formisvalid == false){
        // show message
        document.getElementById(requiredField).style.display = "block";
        scroll(0,0);
    }else{
        // hide message
        document.getElementById(requiredField).style.display = "none";
    }
    return formisvalid;
}

// check if mail is valid
function ValidateMailAddress(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){return false}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false}
    if (str.indexOf(at,(lat+1))!=-1){return false}
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){return false}
    if (str.indexOf(dot,(lat+2))==-1){return false}
    if (str.indexOf(" ")!=-1){return false}
    return true
}

// gets the querysting parameters
location.querystring = (function() {
    // The return is a collection of key/value pairs
    var result = {};

    // Gets the query string with a preceeding '?'
    var querystring = location.search;

    // document.location.search is empty if a query string is absent
    if (!querystring)
        return result;

    // substring(1) to remove the '?'
    var pairs = querystring.substring(1).split("&");
    var splitPair;

    // Load the key/values of the return collection
    for (var i = 0; i < pairs.length; i++) {
        splitPair = pairs[i].split("=");
        result[splitPair[0]] = splitPair[1];
    }

    return result;
})();

// sets the default form if passed by querystring
function SetDefaultForm(){
    // get query parameter
    var formName = window.location.querystring["f"];

    // check if valid
    if(formName != ''){
    		// set dropdown value
    		if(formName == "General"){
    			document.getElementById('Subject').selectedIndex = 1;
    		}
    		if(formName == "DetailQuotation"){
    			document.getElementById('Subject').selectedIndex = 2;
    		}

        // show default form
        ShowHideForm(formName);
    }
}

// show file upload form
function ShowHideForm(formName){
    // check what form to show
    if (formName == 'DetailQuotation'){
        document.getElementById("ContactInfo").style.display = "none" ;
        document.getElementById("General").style.display = "none" ;
        document.getElementById("CustomerInfoTable").style.display = "block" ;
        document.getElementById("CustomerInfoSubmit").style.display = "none" ;
        document.getElementById("DetailQuotation").style.display = "block" ;
    }else if (formName == 'General'){
        document.getElementById("ContactInfo").style.display = "none" ;
        document.getElementById("General").style.display = "block" ;
        document.getElementById("CustomerInfoTable").style.display = "none" ;
        document.getElementById("CustomerInfoSubmit").style.display = "none" ;
        document.getElementById("DetailQuotation").style.display = "none" ;
    }else{
        document.getElementById("ContactInfo").style.display = "block" ;
        document.getElementById("General").style.display = "none" ;
        document.getElementById("CustomerInfoTable").style.display = "none" ;
        document.getElementById("CustomerInfoSubmit").style.display = "none" ;
        document.getElementById("DetailQuotation").style.display = "none" ;
    }
}

// uploads the image via a iFrame
function UploadImage(form,formId){
		if(uploadIdRunning == false){
		    // set current form
		    currentId = formId;
		
				// get the next file id
				xmlhttp.open("GET", "/include/fileupload/uploadfile_progressId.asp",true);			
				xmlhttp.onreadystatechange=function() {
					if (xmlhttp.readyState==4) {
					  // get newxt file upload if
					  fileUploadId = xmlhttp.responseText;
						uploadIdRunning = true;
					  getUploadStatus(fileUploadId,formId);
					  
					  // submit form
					  imageForm = document.getElementById(form);
					  imageForm.action = '/include/fileupload/uploadfile_new.asp?id=DetailQuotationFile' + formId + '&progressid=' + fileUploadId + '';
					  imageForm.submit();
					}
				}
				xmlhttp.send(null)	
		}else{
			//alert (strisLoading)
			 var loaderName = 'DetailQuotationLoaderText' + currentId;
			 document.getElementById(loaderName).innerHTML = strUploadIsRunning;
		}				
}

// sets the status of the upload
function SetStatus(success,message,fNm){
	// clear upload progress
	clearTimeout(tTimeout);
	uploadIdRunning = false;

    var loaderName = 'DetailQuotationLoaderText' + currentId;
    var loaderFileUpload = 'DetailQuotationFile' + currentId;
    var objCheckBox = 'DetailQuotationCheckbox' + currentId;
    var objQuant = 'DetailQuotationQuant' + currentId;

    document.getElementById(loaderName).className = '';
    if(success == true){
	    // set status text
		document.getElementById(loaderName).innerHTML = fNm;
	    document.getElementById(loaderFileUpload).style.display = "none";
	    document.getElementById(objCheckBox).checked = true;
	    document.getElementById(objQuant).focus();
    }else{
        // set status text
    document.getElementById(loaderName).innerHTML = '<font color="red">' + strUploadFailed + ' ' + message + '</font>';
    }
}