/**
 * jQuery.browser.mobile (http://detectmobilebrowser.com/)
 *
 * jQuery.browser.mobile will be true if the browser is a mobile device
 *
 **/
(function(a){jQuery.browser.mobile=/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);

var okcolor="#F3F3F3";
var errorcolor="#ff4e00"
var urlRe = "^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%\+&\?\/\.=:]+$";
var emailRe = "^([0-9a-zA-Z]+[-._+&amp;])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$";
var emailReNL = "^(([0-9a-zA-Z]+[-._+&amp;])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}((\r)?\n)?){1,5}$";
var phoneRe = "[\-0-9]{10,}";
var dateRe = "(19\\d\\d|2\\d\\d\\d)[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])";
var dateFRe = "(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/(19\\d\\d|2\\d\\d\\d)";
var futureDateRe = "(2\\d\d\d)[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])";
var dateTimeRe = "(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/(19\\d\\d|2\\d\\d\\d)\\s(0[1-9]|1[012]):([0-5][0-9])\\s(AM|PM)";

var hideTO;

function escapeRe(strIn){
	var strOut = strIn;
	strOut = strOut.replace(/\+/g,"\+");
	strOut = strOut.replace(/\$/g,"\$");
	strOut = strOut.replace(/\^/g,"\^");
	strOut = strOut.replace(/\*/g,"\*");
	strOut = strOut.replace(/\(/g,"\(");
	strOut = strOut.replace(/\)/g,"\)");
	strOut = strOut.replace(/\-/g,"\-");
	return strOut;
}
function max(el,length){
	if(el.value.length>length){
		el.value = el.value.substr(0,length);
	}
}
function addVal(id,pat,mes){
	if(pat=="checked"){
		$("input[name='"+id+"']:first").before('<input type="hidden" id="'+id+'" value="" />');
		$("input[name='"+id+"']").change(function(){
			if($("input[name='"+id+"']:checked").length>0){
				$("#"+id).val($("input[name='"+id+"']:checked").val());
			}
			else{
				$("#"+id).val("");
			}
		});
		$("#"+id).val($("input[name='"+id+"']:checked").val());
		pat=".+";
	}
	$("#"+id).attr("pattern",pat);
	$("#"+id).attr("message",mes);
}
function validateEl(el){
	var errorMessage="";
	var str="";
	var isgood=true;
	var errors = [];
	var pattern=el.getAttribute('pattern');
	var not=el.getAttribute('not');
	
	if(pattern!=null){
		var value=el.value;
		re=new RegExp(pattern,"g");
		var good=re.test(value);
		if(not!=null){
			if(value==not){
				good=false;	
			}
		}
		if(!good){
			$(el).addClass("error");
			isgood=false;
			var errMes=el.getAttribute('message');
			if(errMes!=null){
				errors.push(errMes);
				if($(el).attr("type")=="file"){
					$(el).val("");
				}
			}
		}
		else{
			$(el).removeClass("error");
		}
	}
	if(!isgood){
		//message("Please correct the following before proceeding:\r\n - "+errors.join("\r\n - "));
		return false;
	}
	else{
		//message("");
		return true;
	}
}
function validate(frm){
	var errorMessage="";
	var str="";
	var elements=frm.elements;
	var isgood=true;
	var errors = [];
	for(var i=0;i<elements.length;i++){
		var pattern=elements.item(i).getAttribute('pattern');
		var not=elements.item(i).getAttribute('not');
		var el = $(elements.item(i));
		if(pattern!=null){
			var value=elements.item(i).value;
			re=new RegExp(pattern,"g");
			var good=re.test(value);
			elements.item(i).rel="";
			if(not!=null){
				if(value==not){
					good=false;	
				}
			}
			if(!good){
				$(el).addClass("error");
				isgood=false;
				var errMes=elements.item(i).getAttribute('message');
				if(errMes!=null){
					errors.push(errMes);
				}
				if($(el).attr("type")=="file"){
					$(el).val("");
				}
			}
			else{
				$(el).removeClass("error");
			}
		}
	}
	if(!isgood){
		message(errors.join("<br />"));
		return false;
	}
	else{
		//message("");
		return true;
	}
};
function message(saywhat){
	if(saywhat!=""){
		//alert(saywhat);
		$("#errorMessage").html("<br /><br />"+saywhat);
		$( "#dialogError" ).dialog({
			resizable: false,
			modal: true,
			width:350,
			buttons: {
				"OK": function() {
					$(this).dialog('close');
				}
			}
		});
	}
}
function emailOnly(el){
	if(/[^\+\-a-zA-Z0-9\._@\n]/.test(el.value)){
		el.value=el.value.replace(/[^\+\-a-zA-Z0-9\._@\r\n]/g,"")
	}
}
function only5(el){
	if(el.value.indexOf("\r\n")>-1){
		el.value = el.value.replace(/(\r\n){2,}/g,"\r\n");
		var ems = el.value.split("\r\n");
		if(ems.length>5){
			for(var i=ems.length;i>5;i--){
				ems.pop();
			}
		}
		$.each(ems,function(i,val){
			ems[i]=ems[i].replace(/\s/g,"");				
		});
		el.value=ems.join("\n");
		if(el.value.lastIndexOf("\n")==el.value.length-1){
			el.value = el.value.substr(0,el.value.length-1);


		}
		if(el.value.lastIndexOf("\n ")==el.value.length-2){
			el.value = el.value.substr(0,el.value.length-2);
		}
	}
	else if(el.value.indexOf("\n")>-1){
		el.value = el.value.replace(/\n{2,}/g,"\n");
		var ems = el.value.split("\n");
		if(ems.length>5){
			for(var i=ems.length;i>5;i--){
				ems.pop();
			}
		}
		$.each(ems,function(i,val){
			ems[i]=ems[i].replace(/\s/g,"");				
		});
		el.value=ems.join("\n");
		if(el.value.lastIndexOf("\n")==el.value.length-1){
			el.value = el.value.substr(0,el.value.length-1);
		}
		if(el.value.lastIndexOf("\n ")==el.value.length-2){
			el.value = el.value.substr(0,el.value.length-2);
		}
	}
}
function sar(el,strSearch,strReplace){
	var reSearch = new RegExp(strSearch,"g");
	if(reSearch.test(el.value)){
		el.value=el.value.replace(reSearch,strReplace)
	}
}
function $$(el){
	return document.getElementById(el);
}
function removeTags(el){
	if(/[<|>|=]/.test(el.value)){
		el.value=el.value.replace(/[<|>|=]/g,"")
	}
}
function limitLength(el,length){
	if(el.value.length>length){
		el.value=truncate(el.value,length);
	}
}
function truncate(val,length){
	if(val.length>length){
		return val.substring(0,length);
	}
	else{
		return val;
	}
}
String.prototype.trim = function(char) {
	return this.replace(new RegExp("^"+char+"+|"+char+"+$","g"),"");
}
function doFocus(){
	$(this).addClass("focus");
	if($(this).hasClass("error")){
		$(this).removeClass("error");
		$(this).addClass("haderror");
	}
}
function doBlur(){
	$(this).removeClass("focus");
	if($(this).hasClass("haderror")){
		$(this).removeClass("haderror");
		$(this).addClass("error");
	}
	validateEl(this);
}
function checkType(id,ext){
	var re = new RegExp("\."+ext+"$","gi");
	var good = re.test(id.value);
	if(!good && id.value!=""){
		id.value="";
		return false;
	}
	else{
		return true;	
	}
}
$.fn.clearForm = function() {
  return this.each(function() {
 var type = this.type, tag = this.tagName.toLowerCase();
 if (tag == 'form')
   return $(':input',this).clearForm();
 if (type == 'text' || type == 'password' || tag == 'textarea')
   this.value = '';
 else if (type == 'checkbox' || type == 'radio')
   this.checked = false;
 else if (tag == 'select')
   this.selectedIndex = -1;
  });
};


function scrollTween(x){
	$('html,body').animate({scrollTop: x}, 500);
}
function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	}
	else {
		return document[movieName];
	}
}
/*
 * jQuery hashchange event - v1.3 - 7/21/2010
 * http://benalman.com/projects/jquery-hashchange-plugin/
 * 
 * Copyright (c) 2010 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);
