//document.execCommand("BackgroundImageCache", false, true);
searchPros = function(name, limit, pg, pro_id){

	$("#war-step2b")
		.fadeOut()
		.find("span.error").remove();
	
	$("#war-step2a").show();


	//loading message
	var loading = $("<div />")
					.css({'text-align':'center','width':'236px','margin':'10px 0px'})
					.append('<img src="/img/ajax-loader.gif" alt="Searching..." />');

	var srObj = $("#war-pro-search-results");
	srObj.empty().append(loading);
	$("#war-step3").hide();
	$("#war-sr-pager").empty();
	$("#selected_pro").val("");

	$.getJSON("/newsday_writeareview/searchpros",{pg:pg,name:name,limit:limit,pro_id:pro_id},function(data, textStatus){
		if(!data){
			var message = $("<div />")
							.css({'font-size':'16px','color':'#999','margin':'10px'})
							.append(data.message);
			srObj.empty().append("Sorry but we can&#39;t seem to search right now, please try again or click the &#34;My Pro Isn&#39;t Listed&#34; button below to add a pro.");
		}else if(!data.success || data.records==0){
			var message = $("<div />")
							.css({'font-size':'16px','color':'#999','margin':'10px'})
							.append(data.message);
			srObj.empty().append(message);
		}else {
			srObj.empty();
			//display list
			for(var i = 0; i < data.records.length; i++){
				srObj.append(
					'<a class="item" href="javascript: void(0);" rel="'+data.records[i].id+'"><span class="company-name">'+data.records[i].name+'</span><span class="company-location"><span class="city">'+data.records[i].city + '</span>, <span class="state">' + data.records[i].state +'</span></span></a>'
				);
			}
			//bind click events
			srObj.children().click(function(){
				$("#war-step2b").fadeOut();
				$(this).siblings().removeClass("selected");
				$(this).addClass("selected");
				$("#selected_pro").val($(this).attr("rel"));

				$("#war-pro-name-location").html($(this).find("span.company-name").text() + " in " + $(this).find("span.company-location").text());
				$("#war-step3").fadeIn();
			});

			//create pager
			if(data.count > limit){
				var pager = $("#war-sr-pager");
				pager.empty();
				if(data.params.pg>1){
					//show previous
					pager.append(
						$("<a />")
							.addClass('prev')
							.attr("href","javascript: void(0);")
							.append("&lt; prev")
							.click(function(){
								searchPros(data.params.name, data.params.limit, data.params.pg-1, '')
							})
					);
				}
				if((data.params.pg*data.params.limit)<data.count){
					pager.append(
						$("<a />")
							.addClass('next')
							.attr("href","javascript: void(0);")
							.append("next &gt;")
							.click(function(){
								searchPros(data.params.name, data.params.limit, data.params.pg+1, '')
							})
					);
				}
			}


			if(pro_id && data.records.length == 1)
				srObj.children(":[rel='"+pro_id+"']").click();

		}
		//srObj.children(":[rel="+$("#selected_pro").val()+"]").click();
		$("#war-step2,#war-step2a").show();

	});




	//if pro_id is provided and data returns result click() item

}
isValidNewPro = function(){
	var isValid = true;
	var name,phone,city,state;
	name = $("#new_pro_name").val();
	phone = $("#new_pro_phone").val();
	city = $("#new_pro_city").val();
	state = $("#new_pro_state").val();

	$("#war-step2b span.error").remove();
	if(!name || $.trim(name).length <= 0){
		isValid = false;
		$("#new_pro_name_label").append("<span class='error small red italic' style='padding-left:10px'>required</span>")
	}
	if(!phone || $.trim(phone).length <= 0){
		isValid = false;
		$("#new_pro_phone_label").append("<span class='error small red italic' style='padding-left:10px'>required</span>")
	}
	if(!city || $.trim(city).length <= 0){
		isValid = false;
		$("#new_pro_city_label").append("<span class='error small red italic' style='padding-left:10px'>required</span>")

	}
	if(!state || $.trim(state).length <= 0){
		isValid = false;
		$("#new_pro_state_label").append("<span class='error small red italic' style='padding-left:10px'>required</span>")
	}

	return isValid;
}

function isValidEmail(emailStr) {
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

		var matchArray=emailStr.match(emailPat);

		if (matchArray==null) {
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];

		// Start by checking that only basic ASCII characters are in the strings (0-127).
		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				return false;
			}
		}
		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				return false;
			}
		}

		if (user.match(userPat)==null) {
			return false;
		}

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					return false;
				}
			}
			return true;
		}

		// Domain is symbolic name.  Check if it's valid.
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++) {
			if (domArr[i].search(atomPat)==-1) {
				return false;
			}
		}

		if (checkTLD && domArr[domArr.length-1].length!=2 &&
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
			return false;
		}

		// Make sure there's a host name preceding the domain.

		if (len<2) {
			alert("This address is missing a hostname!");
			return false;
		}

		// If we've gotten this far, everything's valid!
		return true;
	}

function gup( name ){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

Array.prototype.inArray = function (value){
	var i;
	for(i=0;i<this.length;i++){
		if(this[i] === value){
			return true;
		}
	}
}
function CTIsPlayback() {
   try { return parent && parent.WebPlayer; }
   catch(e) { return false; }
}

$(document).ready(function() {
    $('body').css('background-position','bottom left');
    $('img.tooltip').qtip({
       position: {
          corner: {
             target: 'topLeft',
             tooltip: 'bottomLeft'
          }
       },
       style: {
          width: 300,
          padding: 5,
          color: 'black',
          border: {
             width: 7,
             radius: 5
          },
          tip: 'bottomMiddle',
          name: 'cream'
       }
    });
});
