// NOTES
// the Ajax post below is from Jquery. So, Jquery must be included in web page.
//
// SAMPLE USE
//function validate()
//{
//    clearvalidation("");
//    requiredtextbox("validation", "txtusername", "First Name");
//    requireddropdown("validation", "drptest", "dropdown");
//    comparepasswords("validation", "txtpassword", "txtpassword2");
//    validateemail("validation", "txtemail");
//    requiredcheckbox("validation", document.frmregister.terms.checked, "Terms and conditions");
//    postAjax("validation", "contact.cc.php", "frmemail");
//    var textbox = ['txtemail', 'txtfullname', 'txtphone'];
//    var dropdown = new Array(); 
//    clearcontrols("validation", textbox, dropdown);
//}


function getInputValue(ctl)
{     
   return document.getElementById(ctl).value; 
}
function setDivValue(ctl, value)
{     
   document.getElementById(ctl).innerHTML = value; 
}
function clearvalidation(validatediv)
{     
   document.getElementById(validatediv).innerHTML = "";
}
function requiredtextbox(validatediv, ctltovalidate, msg)
{  
   v = trim(document.getElementById(ctltovalidate).value);
   if(v=="") document.getElementById(validatediv).innerHTML += msg + " is required<br/>"; //document.getElementById(validatediv).style.display = "block"; 
}
function requireddropdown(validatediv, ctltovalidate, msg)
{  
   index = document.getElementById(ctltovalidate).selectedIndex;
   if(index == 0) document.getElementById(validatediv).innerHTML += msg + " is required<br/>";
}
function getradiobuttonlistvalue(field) 
{
    for (i = 0; i < field.length; i++) 
        if(field[i].checked == true) { return field[i].value; }
}
function requiredradiolist(validatediv, ctltovalidate, msg)
{  
   // only works for first form !!! 
   v = getradiobuttonlistvalue(document.forms[0].elements[ctltovalidate]);
   
   if(v=="" || v==undefined) document.getElementById(validatediv).innerHTML += msg + " is required<br/>";    
}
function requiredcheckbox(validatediv, ischecked, msg)
{  
    if(ischecked!=true)
        document.getElementById(validatediv).innerHTML += msg + " is required<br/>";    
}
function requiredtextarea(validatediv, ctltovalidate, msg)
{  
   v = trim(document.getElementById(ctltovalidate).value);
   if(v=="") document.getElementById(validatediv).innerHTML += msg + " is required<br/>";  
}
function comparepasswords(validatediv, ctltovalidate1, ctltovalidate2)
{  
   v1 = document.getElementById(ctltovalidate1).value;
   v2 = document.getElementById(ctltovalidate2).value; 
   if(v1!=v2) document.getElementById(validatediv).innerHTML += "Passwords do not match<br/>";
}
function postForm(validatediv, formname)
{  
   if(document.getElementById(validatediv).innerHTML=="")  
        document.forms[ formname ].submit();               
}
function validateemail(validatediv, ctltovalidate)
{  
   v = document.getElementById(ctltovalidate).value;    
   apos=v.indexOf("@");
   dotpos=v.lastIndexOf(".");
   if(apos<1||dotpos-apos<2) document.getElementById(validatediv).innerHTML += "Valid Email is required<br/>";       
}
function postAjax(validatediv, url, formName, divresult)
{
    //alert( $("#"+formName).serialize() );
    //document.getElementById(divresult).innerHTML = $("#"+formName).serialize();
    
    if(document.getElementById(validatediv).innerHTML=="")         
        $.post(url, $("#"+formName).serialize(), function(data){ document.getElementById(divresult).innerHTML=data; } );     
}
function postAjaxWithClearControls(validatediv, url, formName, divresult, arytextbox, arydropdown)
{
    if(document.getElementById(validatediv).innerHTML=="")         
        $.post(url, $("#"+formName).serialize(), function(data){
                    if(data=='fail')
                        document.getElementById(divresult).innerHTML=data;
                    else {                        
                        clearcontrols(validatediv, arytextbox, arydropdown);
                        document.getElementById(divresult).innerHTML=data;
                    } 
                } 
              );     
}
function postAjaxWithRedirect(validatediv, url, formName, divresult, redirecturl)
{   
    //alert('test');
    //alert(redirecturl);
    //return;
    if(document.getElementById(validatediv).innerHTML=="")         
        $.post(url, $("#"+formName).serialize(), function(data)
            { 
                //alert(data);
                result=data;
                if( result == true || result == 'redirect' ) window.location.href = redirecturl;
                else document.getElementById(divresult).innerHTML=result;
            } 
        );     
}
function postAjaxWithRedirectVariables(validatediv, url, formName, divresult)
{   
    if(document.getElementById(validatediv).innerHTML=="")         
        $.post(url, $("#"+formName).serialize(), function(data)
            { 
                result=data;
                // if success, substring to get url with variables to redirect to
                if( result.substring(0, 8) == 'redirect' ) { window.location.href = result.substring(9); } 
                else document.getElementById(divresult).innerHTML=result;
            } 
        );     
}
function getAjax(url, divresult)
{    
    $.get(url, function(data){ document.getElementById(divresult).innerHTML=data; });      
}
function clearcontrols(validatediv, arytextbox, arydropdown)
{       
    for (var i=0; i<arytextbox.length; i++)  document.getElementById(arytextbox[i]).value="";    
    for (var i=0; i<arydropdown.length; i++)  document.getElementById(arydropdown[i]).selectedIndex=0;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

