// LTrim(string) : Returns a copy of a string without leading spaces.
function ltrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

//RTrim(string) : Returns a copy of a string without trailing spaces.
function rtrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;       // Get length of string
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}

// Trim(string) : Returns a copy of a string without leading or trailing spaces
function trim(str) {
   return rtrim(ltrim(str));
}
/**
 * Verifies if the string is in a valid email format
 * @param	string
 * @return	boolean
 */
function isEmail( text )
{
	var pattern = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp( pattern );
	return regex.test( text );
}

function sendContact(url)
{
    Dialog.info("Please wait...",{width:200, height:100, showProgress: true}); 
    var data = $('frm_contact').serialize();
    Form.reset('frm_contact');
               new Ajax.Request(url, {
					  method: 'post',
					  parameters:data,
					  onSuccess: function(transport) {
                                      Dialog.closeInfo();
                      Dialog.alert(transport.responseText, {className: "alphacube", width:350, okLabel: "Close",ok:function(win){Dialog.closeInfo();}});  
					  setTimeout(hideDialog, 9000) 
                    
                  }
                   
           });      
  
}

function hideDialog()
{
	Dialog.closeInfo();
}

function createAccount(url)
{
    Dialog.info("Please wait...", {width:200, height:100, showProgress: true}); 
    var data = $('frm_account').serialize();
   Form.reset('frm_account');
               new Ajax.Request(url, {
					  method: 'post',
					  parameters:data,
					  onSuccess: function(transport) {
                                      Dialog.closeInfo();
                      Dialog.alert(transport.responseText, {className: "alphacube", width:350, okLabel: "Close",ok:function(win){Dialog.closeInfo();}});  
                     setTimeout(hideDialog, 9000) 
                  }
                   
           });      
}

 function recoverPassword(url)
 {
   	setVisibility('forget_password', 'none');
	Dialog.info("Please wait...", {width:200, height:100, showProgress: true}); 
    var data = $('frm_recover').serialize();
    Form.reset('frm_recover');
               new Ajax.Request(url, {
					  method: 'post',
					  parameters:data,
					  onSuccess: function(transport) {
                                      Dialog.closeInfo();
                      Dialog.alert(transport.responseText, {className: "alphacube", width:350, okLabel: "Close",ok:function(win){Dialog.closeInfo();}});  
                     setTimeout(hideDialog, 9000) 
                  }
                   
           });      
 }


//script included in template

function loginClient() //login template
 {
    var valid = new Validation('frm_login', {useTitles : true},{onSubmit : false});
    var result = valid.validate();
     if(result == true )
     {
           $('frm_login').submit();
     } 
 }

 function submitAccountInfo(url) //signup template
 {
    var valid = new Validation('frm_account', {useTitles : true},{onSubmit : false});
    var result = valid.validate();
     if(result == true )
     {
         if($('aggreement').checked == true)
		 {
            createAccount(url);
		 }
		 else
		 {
            alert('Please select agree terms and privacy policy');
			return false;
		 }
     } 
 }

 //contact us 
 function submitContact(url)
 {
	var valid = new Validation('frm_contact', {useTitles : true},{onSubmit : false});
    var result = valid.validate();
     if(result == true )
     {
           sendContact(url);
     } 
 }

 function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
} 


//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}