//MAIN JAVASCRIPT FUNCTIONS FILE//
//////////////////////////////////
function checkEnter(e){ //e is event object passed from function invocation
	var charcode;
    if(e && e.which){ //if which property of event object is supported (NN4)
        charcode = e.which //character code is contained in NN4's which property
    }else{
        charcode = event.keyCode //character code is contained in IE's keyCode property
    }

    if(charcode == 13){
        return true;
    }else{
        return false;
    }
}

function disable_ff_enter(e){
	if(checkEnter(e)){
		return false;
	}
}

function ajax_field_pop(serverpage, divid){
    objID = divid;
    obj = document.getElementById(objID);
    var usepage = root_path + serverpage;
    dotheajax(usepage, obj, "POST", "null", "innerHTML");
}

function ajax_load_area(serverpage, divid, loading){
    objID = divid;
    obj = document.getElementById(objID);
    
    if(loading == "t"){
    	obj.innerHTML = "Loading...";
    } else if (loading == "g") {
    	staus_msg(objID, "loading");
    }
    
    var usepage = root_path + serverpage;
    dotheajax(usepage, obj, "POST", "null", "innerHTML");
}

function close_modal(){
    $("#blockui").hide();
    $("#modal").hide();
    $("#modal").removeClass("modal_wide"); 
    $('#modal').addClass('modal'); 
}

function do_approval_form(objID, program, reg_id, mfr_prog, ctrl_domain, brreg_var, brand_reg){
	
	var pos = $("#" + objID).position();
	var width = $("#" + objID).width();

	var dopage = root_path + "user_mgmt/mod_approval-menu.php";
	var str = "program=" + program + "&reg_id=" + reg_id + "&mfr_prog=" + mfr_prog + "&brreg_var=" + brreg_var + "&brand_reg=" + brand_reg + "&ctrl_domain=" + ctrl_domain;

	$.ajax({	
    	type: "POST",
    	url: dopage,
    	data: str,
    	dataType: "html",
    	success: function(data){
			$("#approval_menu").html(data);
	    },
		complete: function(){
			$("#approval_menu").css({"position":"absolute", "left": (pos.left + width - 2) + "px", "top": pos.top + "px"});
			$("#approval_menu").show();    
			
			$(".close_this").click(function(){
				$("#approval_menu").hide();
			});
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert("THERE HAS BEEN AN ERROR: " + textStatus + " - " + errorThrown);
		}
	});

}

function submit_modal_form(formname, serverpage, errordiv, errorpage){
	
	/*
	var str = $("form#" + formname).serialize();
	alert(ser);
	*/
    var str = getformvalues(formname);
    //alert("YERP: " + str);
    if(proceed == true){
        var objID = "modalbody";
        var dopage = root_path + serverpage;
    }else{
        var objID = errordiv
        var dopage = root_path + errorpage;   
    }
    
    $.ajax({	
    	type: "POST",
    	url: dopage,
    	data: str,
    	dataType: "html",
    	success: function(data){
			$("#" + objID).html(data);
	    },
	    error: function(XMLHttpRequest, textStatus, errorThrown){
			alert("THERE HAS BEEN AN ERROR: " + textStatus + " - " + errorThrown);
		}
	});
    
}

function submit_body_form(formname, serverpage, errordiv, errorpage, target_id){
    var str = getformvalues(formname);
    if(proceed == true){
        var objID = target_id;
        var obj = document.getElementById(objID);
        var dopage = root_path + serverpage + "?" + str;
    }else{
        var objID = errordiv
        var obj = document.getElementById(objID);
        var dopage = root_path + errorpage + "?" + str;   
    }
    dotheajax(dopage, obj, "POST", "null", "innerHTML");
    
}

function submit_body_form_jq(formname, serverpage, errordiv, errorpage, sc_callback){
    var str = getformvalues(formname);
    if(proceed == true){
        //var objID = target_id;
        //staus_msg(objID, "loading");
        //var obj = document.getElementById(objID);
        var dopage = root_path + serverpage;
        
        $.ajax({
        	type: "POST",
        	url: dopage,
        	data: str,
        	success: function(){
        		alert(sc_callback);
        		sc_callback;        	
        	}
        });
        
    }else{
        var objID = errordiv
        var obj = document.getElementById(objID);
        var dopage = root_path + errorpage;   
        
        $("#" + errordiv).load(dopage);
        
    }
    
}

function check_email(purpose){

    var str = getformvalues("form_email");    
    if(proceed == true){
        
        var objID = "modalbody";
        var serverpage = root_path + "user_mgmt/form_ajax-registration.php?" + str;
        var obj = document.getElementById(objID);
        dotheajax(serverpage, obj, "POST", "null", "innerHTML");
        CountryType();
        
    }else{
        var objID = "reg_msg";
        var obj = document.getElementById(objID);
        var dopage = root_path + "user_mgmt/mod_ajax-formerror.php" + "?" + str;
        dotheajax(dopage, obj, "POST", "null", "innerHTML");
    }
    
}

function field_match(field1id, field2id, gid){
        
    var val1 = document.getElementById(field1id).value;
    var val2 = document.getElementById(field2id).value;

    if(val1 != "" && val2 != "" && val2 == val1){
        document.getElementById(gid).innerHTML="<img src='../images/forms/valid_plus.gif' /><input type='hidden' name='" + field2id + "_check' id='" + field2id + "_check' value='true'>";     
    }else{
        document.getElementById(gid).innerHTML="<img src='../images/forms/valid_minus.gif' /><input type='hidden' name='" + field2id + "_check' id='" + field2id + "_check' value='false'>";  
    }
}

function validate(fieldname, thevalue, gid){

/*
	var field = document.getElementsByName(fieldname);
	var str = "?";
	if (field[0].type == "checkbox") {
		for(var i=0;i<field.length;i++) {
			if(i>0) { str+= "&"; }
			str += "fname"+i+"=" + field[i].id + "&fvalue"+i+"=" + field[i].checked;
		}
	} else {
			str += "fname=" + fieldname + "&fvalue=" + thevalue;	
	}
*/
	//alert(fieldname+" "+thevalue+" "+gid);
	if (fieldname == "req_ew" || fieldname == "req_cl" || fieldname == "req_ag" || fieldname == "req_tr" ) {
		var f0 = document.getElementById("req_ew");
		var f1 = document.getElementById("req_cl");
		var f2 = document.getElementById("req_ag");
		var f3 = document.getElementById("req_tr");
		//alert("here" + f0);
		str = "?fname0=" + f0.name + "&fvalue0=" + f0.checked + "&fname1=" + f1.name + "&fvalue1=" + f1.checked + "&fname2=" + f2.name + "&fvalue2=" + f2.checked + "&fname3=" + f3.name + "&fvalue3=" + f3.checked;	
	} else {
		str = "?fname=" + fieldname + "&fvalue=" + thevalue;
	}
	
    var objID = gid;
    var serverpage = root_path + "user_mgmt/errchk_registration.php" + str;
    var obj = document.getElementById(objID);

    dotheajax(serverpage, obj, "POST", "null", "innerHTML");
}

function validate_field(fieldname, thevalue, gid, val_page){
    var objID = gid;
    var serverpage = root_path + val_page + "?fname=" + fieldname + "&fvalue=" + thevalue;
    var obj = document.getElementById(objID);
    dotheajax(serverpage, obj, "POST", "null", "innerHTML");
}

function validate_two_fields(fieldname1, thevalue1, fieldname2, thevalue2, val_page) {
//	var objID1 = gid1;
//	var objID2 = gid2;
	var serverpage = root_path + val_page;
	var str = "fname1=" + fieldname1 + "&fvalue1=" + thevalue1 + "&fname2=" + fieldname2 + "&fvalue2=" + thevalue2;
//	var str = "fvalue1=" + thevalue1 + "&fvalue2=" + thevalue2;
	$.ajax({ 
		type: "POST",
		url: serverpage,
		data: str,
		dataType: "json",
		success: function(data){
			//alert(data['valid1']);
			if($("#leasee_usdot_valid").html() =="") {
				$("#leasee_usdot_valid").html("<img id='leasee_usdot_img' src='../images/forms/valid_minus.gif'/><input type='hidden' name='leasee_usdot_check' id='leasee_usdot_check' value='false'>");
			}
			if($("#leasee_mc_valid").html() =="") {
				$("#leasee_mc_valid").html("<img id='leasee_mc_img' src='../images/forms/valid_minus.gif'/><input type='hidden' name='leasee_mc_check' id='leasee_mc_check' value='false'>");
			}

			$("#leasee_usdot_check").attr("value",data['valid1']);
			$("#leasee_mc_check").attr("value",data['valid2']);
			if(data['valid1']=="true") {
				$("#leasee_usdot_img").attr("src", "../images/forms/valid_plus.gif");
			} else {
				$("#leasee_usdot_img").attr("src", "../images/forms/valid_minus.gif");			
			}
			if(data['valid2']=="true") {
				$("#leasee_mc_img").attr("src", "../images/forms/valid_plus.gif");
			} else {
				$("#leasee_mc_img").attr("src", "../images/forms/valid_minus.gif");			
			}
			
		}/*
,
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert("t "+textStatus+" e "+errorThrown);
			//echo "t ".textStatus."e ".errorThrown;

		},
		complete: function(XMLHttpRequest, textStatus) {
			alert("t "+textStatus);
			//echo "t ".textStatus."e ".errorThrown;

		}
*/
		
	});	

//	var obj1 = document.getElementById(objID1);	
//	var obj2 = document.getElementById(objID2);
//    dotheajax(serverpage+"&f1=true", obj1, "POST", "null", "innerHTML");
//    dotheajax(serverpage+"&f2=true", obj2, "POST", "null", "innerHTML");

}

function validate_add_remove(fieldname){
    var list = document.getElementById(fieldname);
    var valfield = document.getElementById(fieldname + "_check");
    if(list.length >= 1){
        valfield.value = "true";
    }else{
        valfield.value = "false";
    }
}

function validate_form(fobj){

	var objID = document.getElementById(fobj);
    for(var i = 0; i < objID.elements.length; i++){
        
        var fieldname = objID.elements[i].id;
        if(fieldname != '' && fieldname.substr(-6, 6) != "_check" && document.getElementById(fieldname + '_valid') != null && fieldname.substr(-9, 9) != "_selected"){
            value = document.getElementById(fieldname).value;
            //alert(fieldname + " - " + value + " - " + fieldname + '_valid'); 
            validate(fieldname, value, fieldname + '_valid');
        }
        
    }
    
}

function validate_body_form(fobj, validate_page){
    var objID = document.getElementById(fobj);
    for(var i = 0; i < objID.elements.length; i++){
        
        var fieldname = objID.elements[i].id;
        if(fieldname != '' && fieldname.substr(-6, 6) != "_check" && document.getElementById(fieldname + '_valid') != null && fieldname.substr(-9, 9) != "_selected" && document.getElementById(fieldname + '_check').value != 'bypass'){
            value = document.getElementById(fieldname).value;
            validate_field(fieldname, value, fieldname + '_valid', validate_page);
        }
        
    }
    
}

function validate_country(thevalue, gid){

    if(thevalue == "United States"){
        document.getElementById("province_valid").innerHTML = "<input type='hidden' name='province_check' id='province_check' value='true'>";
    }else if(thevalue == "Canada"){
        document.getElementById("state_valid").innerHTML = "<input type='hidden' name='state_check' id='state_check' value='true'>";
    }
    
    var objID = gid;
    var serverpage = root_path + "user_mgmt/errchk_registration.php" + "?fname=country&fvalue=" + thevalue;
    var obj = document.getElementById(objID);
    dotheajax(serverpage, obj, "POST", "null", "innerHTML");
}

function validate_sec_answer(answer, gid){
        
    var email = document.getElementById("my_email").value; 
    var objID = gid;
    var serverpage = root_path + "user_mgmt/errchk_sq.php" + "?sa=" + answer + "&my_email=" + email;
    var obj = document.getElementById(objID);
    dotheajax(serverpage, obj, "POST", "null", "innerHTML");
}

function validate_email_exists(email, gid){
    
    var email = document.getElementById("email_address").value; 
    var objID = gid;
    var serverpage = root_path + "user_mgmt/errchk_email_exists.php" + "?email_address=" + email;
    var obj = document.getElementById(objID);
    dotheajax(serverpage, obj, "POST", "null", "innerHTML");
}

function do_modal_form(title, serverpage, validate_form){
	
    $("#blockui").show();
	
	var pstr = serverpage.split("?");
    var dopage = root_path + pstr[0];
	var str = pstr[1];
	$.ajax({	
    	type: "POST",
    	url: dopage,
    	data: str,
    	dataType: "html",
    	success: function(data){
			$("#modalbody").html(data);
	    },
		complete: function(){
			$("#modal").show();    
    		$("#modal_title").html(title);
			if(validate_form != "false"){
				
		    	var objID = document.getElementById(validate_form);
			    for(var i = 0; i < objID.elements.length; i++){
			        
			        var fieldname = objID.elements[i].id;
			        if(fieldname != '' && fieldname.substr(-6, 6) != "_check" && document.getElementById(fieldname + '_valid') != null && fieldname.substr(-9, 9) != "_selected"){
			            value = document.getElementById(fieldname).value;
			            validate(fieldname, value, fieldname + '_valid');
			        }
			        
			    }

		    }
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			alert("THERE HAS BEEN AN ERROR: " + textStatus + " - " + errorThrown);
		}
	});
    
}

function add_program(){
    var email = document.getElementById("email_1").value;
    var ew_val = document.form_prog.add_ew.checked;
    var cl_val = document.form_prog.add_cl.checked;
    var tr_val = document.form_prog.add_tr.checked;
    
    if(ew_val == true || cl_val == true || tr_val == true){
        var objID = "modalbody";
        var progpage = root_path + "user_mgmt/bot_add-programs.php?email=" + email + "&ew_val=" + ew_val + "&cl_val=" + cl_val + "&tr_val=" + tr_val;
        var obj = document.getElementById(objID);
        dotheajax(progpage, obj, "POST", "null", "innerHTML");
    }else{
        document.getElementById("reg_msg").innerHTML = "<span class='text_red'><b>Please choose a program.</b></span>";
    }
}

function CountryType()
{
    var my_country = document.getElementById('my_country');
    var tr_no_country = document.getElementById('tr_no_country_id');
    var tr_canada = document.getElementById('tr_canada_id');
    var tr_usa = document.getElementById('tr_usa_id');

    if(my_country.value == '')
    {
       tr_no_country.style.display = '';
       tr_canada.style.display = 'none';
       tr_usa.style.display = 'none';
    }
    
    if(my_country.value == 'Canada')
    {
       tr_no_country.style.display = 'none';
       tr_canada.style.display = '';
       tr_usa.style.display = 'none';
    }
    
    if(my_country.value == 'United States')
    {
       tr_no_country.style.display = 'none';
       tr_canada.style.display = 'none';
       tr_usa.style.display = '';
    }

}

function compare_select_text(a, b) {
    var textA = a.text.toLowerCase( );
    var textB = b.text.toLowerCase( );
    if (textA < textB) {return -1}
    if (textA > textB) {return 1}
    return 0;
}

function move_option(src_id, target_id, validate)
{
    var tmp_src_opts = new Array();
    var target_add = new Array();
    var target_orig = new Array();
    var x = 0;
    var q = 0;
    var j = 0;
    
    var optsrc = document.getElementById(src_id);
    var opttarg = document.getElementById(target_id);
    
    for (var i = 0; i < optsrc.length; i++) {
        if (optsrc.options[i].selected) {
            var tmp_a_values = new Object();
            tmp_a_values.text = optsrc.options[i].text;
            tmp_a_values.value = optsrc.options[i].value;
            target_add[q] = tmp_a_values;
            q++;
        } else {
            //storing options that stay to recreate select element
            var tmp_values = new Object();
            tmp_values.text = optsrc.options[i].text;
            tmp_values.value = optsrc.options[i].value;
            tmp_src_opts[x] = tmp_values;
            x++;
        }
        
    }
    
    tmp_src_opts.sort(compare_select_text);
    //resetting length of source
    optsrc.length = tmp_src_opts.length;
    //looping through temp array to recreate source select element
    for (var i = 0; i < tmp_src_opts.length; i++) {
        optsrc.options[i].text = tmp_src_opts[i].text;
        optsrc.options[i].value = tmp_src_opts[i].value;
        optsrc.options[i].selected = false;
    }
    
    for (var i = 0; i < opttarg.length; i++) {
        var tmp_o_values = new Object();
        tmp_o_values.text = opttarg.options[i].text;
        tmp_o_values.value = opttarg.options[i].value;
        target_orig[j] = tmp_o_values;
        j++;
    }  
    
    var target_values = target_orig.concat(target_add);
    target_values.sort(compare_select_text);
    opttarg.length = target_values.length;
    for (var k = 0; k < target_values.length; k++) {
        //alert(target_values[k].text + " " + target_values[k].value);
        opttarg.options[k].text = target_values[k].text;
        opttarg.options[k].value = target_values[k].value;
        opttarg.options[k].selected = false;
    }
    
    if(validate == "target"){
        validate_add_remove(target_id);  
    }else if(validate == "source"){
        validate_add_remove(src_id);
    }
}


function trim(inputString) {

   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}

function noBack() {
	try {
		window.history.forward();
	} catch (e) {
		//Ignore
	}
}

function addLoadEvent(func) { 
	  var oldonload = window.onload; 
	  if (typeof window.onload != 'function') { 
	    window.onload = func; 
	  } else { 
	    window.onload = function() { 
	      if (oldonload) { 
	        oldonload(); 
	      } 
	      func(); 
	    } 
	  } 
}