$(document).ready(function(){
	
	//If form_values is not defined at any area of page
	if ( typeof form_values == "undefined" )
		return false;
	
	
	//Take form_values elements one by one
	jQuery.each( form_values , function ( name, value ) {
			
		//Get the element by its name
		var els = document.getElementsByName ( name );
		
		//If no element returned
		if ( els.length == 0 )
			return true;
		
		//--
		
		//We require only 1 element
		var el = els[0];
		
		//Ex: SELECT tag to select
		var tagname = el.tagName.toLowerCase();
		
		//Required for inputs, ex: <input type="text">
		var type = el.type;
		
		//--
		
		//Fill text input
		if ( tagname == "input" && type == "text" )
			el.value = value;
		
		
		//Fill hidden input
		else if ( tagname == "input" && type == "hidden" )
			el.value = value;
			
		
		//Make radio input checked if values match
		else if ( tagname == "input" && type == "radio"  )
		{
			$("input[name="+name+"]").each( function( i ) {
				if ( this.value == value )
					this.checked = "checked";
				});
		}
		
		
		//Make checkbox checked if values match
		else if ( tagname == "input" && type == "checkbox"  )
		{
			if ( el.value == value )
				el.checked = "checked";
		}

		
		//Select one of select's options
		else if ( tagname == "select" )
		{
			var select_values = value.split(",");

			for (var n=0; n<select_values.length; n++ )
			{
				$("select[name="+name+"] > option").each( function( i ) {
					if ( this.value == select_values[n] )
						this.selected = "selected";
					});
			}
		}
		
		
		//Fill Textarea
		else if ( tagname == "textarea" )
			el.value = value;

	});
});

var U = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}

		return string;
	}
 
}

var URL = location.href

function queryString(Value) {
  if(Value!=null) {
    var regEx = new RegExp("(\\?|&)("+Value+"=)(.*?)(&|$|#)","i")
    var exec = regEx.exec(URL)
    var Return = RegExp.$3
  } else {
    var regEx = new RegExp("(\\?)(.*?)($)","i")
    var exec = regEx.exec(URL)
    var Return = RegExp.$2
  }

  return(Return)
}


jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");
