function Browser(){var b,c,a;this.isIE=false;this.isOP=false;this.isNS=false;this.version=null;b=navigator.userAgent;c="Opera";if((a=b.indexOf(c))>=0){this.isOP=true;this.version=parseFloat(b.substr(a+c.length));return}c="Netscape6/";if((a=b.indexOf(c))>=0){this.isNS=true;this.version=parseFloat(b.substr(a+c.length));return}c="Gecko";if((a=b.indexOf(c))>=0){this.isNS=true;this.version=6.1;return}c="MSIE";if((a=b.indexOf(c))){this.isIE=true;this.version=parseFloat(b.substr(a+c.length));return}}function isBlank(b){if(b.length==0){return true}for(var a=0;a<b.length;a++){if((b.charAt(a)!=" ")&&(b.charAt(a)!="\t")&&(b.charAt(a)!="\n")){return false}}return true}function checkAllLink(d,a,c){var e=true;if(a.value=="true"){e=true;a.value="false";c.innerHTML="Uncheck All"}else{e=false;a.value="true";c.innerHTML="Check All"}for(var b=0;b<d.length;b++){d[b].checked=e}return true}function checkAll2(d,a,c){var e=true;if(a.value=="true"){e=true;a.value="false";c.value="Uncheck All"}else{e=false;a.value="true";c.value="Check All"}for(var b=0;b<d.length;b++){d[b].checked=e}return true}function checkAll(c,b){var b=true;for(var a=0;a<c.length;a++){c[a].checked=b}}function checkemail(b){var a=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;if(a.test(b)){return true}else{return false}}function checkurl(b){var a=/^[http|https]+\:\/\/((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?).*$/i;if(a.test(b)){return true}else{return false}}function checkimage(b){var a=/\.(gif|jpeg|jpg)$/i;if(a.test(b)){return true}else{return false}}function checklogin(b){var a=/^[\w-\ ]{4,16}$/i;if(a.test(b)){return true}else{return false}}function checkpassword(b){var a=/^.{6,32}$/i;if(a.test(b)){return true}else{return false}}function checkdate(b){var a=/^\d\d\d\d-\d\d-\d\d$/;if(a.test(b)){return true}else{return false}}function checkdate2(b){var a=/^\d\d\/\d\d\/\d{2,4}$/;if(a.test(b)){return true}else{return false}}function check_usdate(b){var a=/^\d{1,2}\/\d{1,2}\/\d{2,4}$/;if(a.test(b)){return true}else{return false}}function compare_dates(f,e){var b=f.split("/");var a=e.split("/");var d=new Date(b[2],b[0]-1,b[1]);var c=new Date(a[2],a[0]-1,a[1]);if(d>c){return false}else{return true}}function date_tousformat(b){var e=b.getFullYear();var a=b.getMonth()+1;var c=b.getDate();if(a<10){a="0"+a}if(c<10){c="0"+c}return a+"/"+c+"/"+e}function checkoccupants(b){var a=/^\d$/;if(a.test(b)){return true}else{return false}}function checknumber(b){var a=/^\d+$/;if(a.test(b)){return true}else{return false}}function checkcolor(b){var a=/^\#[\d\A\B\C\D\E\F\a\b\c\d\e\f]{6}$/;if(a.test(b)){return true}else{return false}}function checkprice(b){var a=/^\d*(\.\d+)?$/;if(a.test(b)){return true}else{return false}}function openPopup(f,a,c){var e=(screen.width-a)/2;var d=(screen.height-c)/2;var b=window.open(f,"_blank","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,left="+e+",top="+d+",width="+a+",height="+c);b.focus()}function up_item(item){with(document.forms.order_form){item_up.value=item;submit()}}function down_item(item){with(document.forms.order_form){item_down.value=item;submit()}}function changeCurentPage(page_tag,curl){var page_id=page_tag.options[page_tag.selectedIndex].value;eval("parent.location='"+curl+"&page="+page_id+"'")}var panes=new Array();function setupPanes(g,a){panes[g]=new Array();var h=0;var j=0;var b=document.getElementById(g);var d=b.getElementsByTagName("div")[0];var e=d.childNodes;for(var f=0;f<e.length;f++){var c=e[f];if(c.nodeType!=1){continue}if(c.offsetHeight>h){h=c.offsetHeight}if(c.offsetWidth>j){j=c.offsetWidth}panes[g][c.id]=c;c.style.display="none"}d.style.height=h+"px";d.style.width=j+"px";document.getElementById(a).onclick()}function showPane(h,b){for(var c in panes){b.blur();b.className="tab-active";if(panes[c][h]!=null){var f=document.getElementById(h);f.style.display="block";var a=document.getElementById(c);var j=a.getElementsByTagName("ul")[0];var d=j.getElementsByTagName("a");for(var g=0;g<d.length;g++){var e=d[g];if(e!=b){e.className="tab-disabled"}}for(var g in panes[c]){var f=panes[c][g];if(typeof(f)=="undefined"){continue}if(f.id==h){continue}if(typeof(f.style)=="undefined"){continue}f.style.display="none"}}}return false}function fpage(a){document.location="#"+a}function setObjectClass(a,d){if(a.getAttributeNode("class")){for(var c=0;c<a.attributes.length;c++){var b=a.attributes[c].name.toUpperCase();if(b=="CLASS"){a.attributes[c].value=d}}}else{a.setAttribute("class",d)}}function MM_jumpMenu(targ,selObj,restore){var value=selObj.options[selObj.selectedIndex].value;if(value!=0){eval(targ+".location='"+value+"'");if(restore){selObj.selectedIndex=0}}}function MM_preloadImages(){var f=document;if(f.images){if(!f.MM_p){f.MM_p=new Array()}var e,c=f.MM_p.length,b=MM_preloadImages.arguments;for(e=0;e<b.length;e++){if(b[e].indexOf("#")!=0){f.MM_p[c]=new Image;f.MM_p[c++].src=b[e]}}}}function MM_swapImgRestore(){var d,b,c=document.MM_sr;for(d=0;c&&d<c.length&&(b=c[d])&&b.oSrc;d++){b.src=b.oSrc}}function MM_findObj(f,e){var c,b,a;if(!e){e=document}if((c=f.indexOf("?"))>0&&parent.frames.length){e=parent.frames[f.substring(c+1)].document;f=f.substring(0,c)}if(!(a=e[f])&&e.all){a=e.all[f]}for(b=0;!a&&b<e.forms.length;b++){a=e.forms[b][f]}for(b=0;!a&&e.layers&&b<e.layers.length;b++){a=MM_findObj(f,e.layers[b].document)}if(!a&&e.getElementById){a=e.getElementById(f)}return a}function MM_swapImage(){var e,d=0,b,c=MM_swapImage.arguments;document.MM_sr=new Array;for(e=0;e<(c.length-2);e+=3){if((b=MM_findObj(c[e]))!=null){document.MM_sr[d++]=b;if(!b.oSrc){b.oSrc=b.src}b.src=c[e+2]}}}function myurlencode(b){var a=b;a=a.replace(/\&/g,"-and-");a=a.replace(/\//g,"-or-");a=a.replace(/ /g,"_");a=escape(a);return a}function doCompanySearch(){var b=document.getElementById("search_company_form");var a=document.getElementById("company_keyword").value;if(isBlank(a)){alert("Please enter keyword to search by company");return false}else{b.action="http://www.mypartyplanner.com/search/company_"+myurlencode(a)+"/page1.html";b.submit();return true}}function doCompanySearchTop(b){var a=b.company_keyword.value;if(isBlank(a)){alert("Please enter keyword to search by company");return false}else{b.action="http://www.mypartyplanner.com/search/company_"+myurlencode(a)+"/page1.html";b.submit();return true}}function doCompanySearchCenter(b){var a=b.company_keyword.value;if(isBlank(a)){alert("Please enter keyword to search by company");return false}else{b.action="http://www.mypartyplanner.com/search/company_"+myurlencode(a)+"/page1.html";b.submit();return true}}function party_supplies_doCompanySearchTop(b){var a=document.getElementById("party_supplies_company_keyword").value;if(isBlank(a)){alert("Please enter keyword to search by company");return false}else{return true}}function log_emaillink(b,a){(new Image()).src="/d_images/spy_emaillink.script?listing_id="+b+"&site_id="+a}function log_weblink(b,a){(new Image()).src="/d_images/spy_weblink.script?listing_id="+b+"&site_id="+a}function log_weblink_open(c,a,b){(new Image()).src="/d_images/spy_weblink.script?listing_id="+c+"&site_id="+a;var d=window.open(b);return true}function log_logolink(b,a){(new Image()).src="/d_images/spy_logolink.script?listing_id="+b+"&site_id="+a}function log_companynamelink(b,a){(new Image()).src="/common/d_images/spy_companynamelink.script?listing_id="+b+"&site_id="+a}function log_logolink_open(c,a,b){(new Image()).src="/d_images/spy_logolink.script?listing_id="+c+"&site_id="+a;var d=window.open(b);return true}function log_availabilitylink(b,a){if(document.images){(new Image()).src="/d_images/spy_availabilitylink.script?listing_id="+b+"&site_id="+a}}function log_banner(b,c,a){(new Image()).src="/d_images/banner_redirect.script?relation_id="+b+"&package_id="+c+"&page_id="+a;return true}function table_pager_submit(a,d,c,b){document.getElementById("page").value=d;document.getElementById("show_all").value=c;if(typeof(b)!="undefined"&&b!=null&&b!=""){document.getElementById(a).action=b}document.getElementById(a).submit()}function SearchResults_NewVendorSearch(){document.getElementById("search_message_div").style.display="none";document.getElementById("search_message").innerHTML="";var c=document.getElementById("location_id").value;var b=document.getElementById("vendor_type").value;if(b!=0&&!isBlank(b)){if(c!=0&&!isBlank(c)){var a=c.replace(/{vendor_code}/g,b);document.location=a}else{var a="http://www.mypartyplanner.com/search/vendor/"+b+"/select_state.html";document.location=a}}else{if(c!=0&&!isBlank(c)&&false){}else{document.getElementById("search_message_div").style.display="block";document.getElementById("search_message").innerHTML="Please select a Location and Vendor Type to search vendors."}}}function LocationChanged(d){var a=document.getElementById("start_here");var b=document.getElementById("select_vendor");var e=document.getElementsByName("category_labels");if(d==0||isBlank(d)){a.src="/images/new2008/index/start_here_glow.gif";b.src="/images/new2008/index/select_a_vendor_off.gif";for(var c=0;c<e.length;c++){setObjectClass(e[c],"category_labels_gray")}}else{a.src="/images/new2008/index/start_here_off.gif";b.src="/images/new2008/index/select_a_vendor.gif";for(var c=0;c<e.length;c++){setObjectClass(e[c],"category_labels_white")}}}function VendorChanged(b){if(b!=null&&!isBlank(b)){var c=document.getElementById("location_id").value;if(c!=0&&!isBlank(c)){var a=c.replace(/{vendor_code}/g,b);YAHOO.util.Dom.setStyle(["loading-mask"],"opacity",1);YAHOO.util.Dom.setStyle(["loading"],"display","block");YAHOO.util.Dom.setStyle(["loading-mask"],"display","block");document.location=a}}}function NewVendorSearch(){document.getElementById("search_message_div").style.display="none";document.getElementById("search_message").innerHTML="";var d=document.getElementById("location_id").value;var e=document.getElementsByName("vendor_type");var b=0;for(var c=0;c<e.length;c++){if(e[c].checked){b=e[c].value}}if(b!=null&&!isBlank(b)){if(d!=0&&!isBlank(d)){var a=d.replace(/{vendor_code}/g,b);YAHOO.util.Dom.setStyle(["loading-mask"],"opacity",1);YAHOO.util.Dom.setStyle(["loading"],"display","block");YAHOO.util.Dom.setStyle(["loading-mask"],"display","block");document.location=a}else{var a="http://www.mypartyplanner.com/search/vendor/"+b+"/select_state.html";YAHOO.util.Dom.setStyle(["loading-mask"],"opacity",1);YAHOO.util.Dom.setStyle(["loading"],"display","block");YAHOO.util.Dom.setStyle(["loading-mask"],"display","block");document.location=a}}else{if(d!=0&&!isBlank(d)){var a=d.replace(/\/search\/vendor\/{vendor_code}/g,"/search/metro");YAHOO.util.Dom.setStyle(["loading-mask"],"opacity",1);YAHOO.util.Dom.setStyle(["loading"],"display","block");YAHOO.util.Dom.setStyle(["loading-mask"],"display","block");document.location=a}else{document.getElementById("search_message_div").style.display="block";document.getElementById("search_message").innerHTML="Please select a Location and|or Vendor Type to search vendors."}}}function Quote_verifyRequestForm(){var a=document.getElementById("full_name");if(isBlank(a.value)){alert("Please enter your name.");a.focus();return false}a=document.getElementById("email");if(isBlank(a.value)){alert("Please enter your E-mail address.");a.focus();return false}if(!checkemail(a.value)){alert(a.value+" is not a valid email address.");a.focus();return false}a=document.getElementById("event_id");if(a.selectedIndex==0){alert("Please select an event type.");a.focus();return false}var c=document.getElementsByName("know_event_date");var d=0;for(var b=0;b<c.length;b++){if(c[b].checked){d=c[b].value}}if(d==1){a=document.getElementById("event_date");if(!checkdate2(a.value)){alert(a.value+" is not a valid date. Ude mm/dd/yyyy format.");a.focus();return false}}return true}function Quote_check_know_event_date(){var c=document.getElementsByName("know_event_date");var d=0;for(var a=0;a<c.length;a++){if(c[a].checked){d=c[a].value}}var b=document.getElementById("event_date");var e=document.getElementById("event_date_cell");if(d==1){e.style.display=""}else{e.style.display="none";b.value=""}}function doFindPerfectVerdorSearch(){var e=document.getElementById("find_perfect_verdor_form");var c=document.getElementById("search_state_code");var a=document.getElementById("search_city_code");var d=document.getElementById("search_vendor_type");var b="";if(d.selectedIndex==0){alert("Please select a vendor type.");d.focus();return false}if(c.selectedIndex==0){alert("Please select a state.");c.focus();return false}if(a.selectedIndex==0){alert("Please select a city.");a.focus();return false}if(d.selectedIndex>0&&a.selectedIndex>0){b="http://www.mypartyplanner.com/search/vendor/"+a.options[a.selectedIndex].value+"/"+d.options[d.selectedIndex].value+"/contact-info.html"}if(b!=""){e.action=b;e.submit();return true}else{return false}}function setDefault(b,a){if(b.value.length==0||b.value==a){b.style.color="gray";b.value=a}else{b.style.color=""}}function clearDefault(b,a){if(b.value==a){b.value=""}b.style.color=""}function showItem(b){var a=document.getElementById(b);a.style.display="block"}function hideItem(b){var a=document.getElementById(b);a.style.display="none"}

function TopVendorSearch(){
    document.getElementById("search_message_div").style.display = "none";
    locationForm = document.getElementById("top_search_vendor_form");
    document.getElementById("search_message").innerHTML = "";
    var b = document.getElementById("top_location_code").value;
    var a = document.getElementById("top_category_code").value;var c="";
    var d = document.getElementById("top_search_vendor_form");
    b = b.replace(/(^\s+)|(\s+$)/g, "")
    if(a == "0") { c += "Please Choose a Category.<br/>"; }
    if(b == "" || b == "City &amp; State or Postal Code" || b == "City & State or Postal Code") { c += "Please Enter a Location.<br/>"; }
    if(c.length > 0) {
        document.getElementById("search_message_div").style.display = "block";
        document.getElementById("search_message").innerHTML = c;
        return false;
    } else {
        var isZip = true;
        var numericChars = "0123456789";
        for (var i = 0; i < b.length && isZip == true; i++) { var Char = b.charAt(i); if (numericChars.indexOf(Char) == -1){isZip = false;}}
        if (isZip == true) {
            d.location_code.value = b;
            d.category_code.value = a;
            d.action = "http://www.mypartyplanner.com/search_results.html";
            d.submit();
            return true;
        } else {
            var address = $('#top_location_code').val();
            xajax_ajax_get_google_city_name(1,address,'top_location_code','GoogleLocationSearch();');
            return false;
        }
    }
};

function disallow_past_dates(date) { if ( date < past_low_limit_date ) { return true; } else { return false; }}

function GoogleCityStateSearch() {
    if (cityStateForm != false) { cityStateForm.submit(); }
}

function GoogleLocationSearch() {
    if (locationForm != false) {
        var b=document.getElementById("top_location_code").value;
        var a=document.getElementById("top_category_code").value;
        var d=document.getElementById("top_search_vendor_form");
        set_cookie("geo_metro_display_name",b,14,'/');
        d.location_code.value=b;
        d.category_code.value=a;
        d.action="http://www.mypartyplanner.com/search_results.html";
        locationForm.submit();
    }
}

function set_cookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}
function get_cookie( check_name ) {
    var a_all_cookies = document.cookie.split( ';' );
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false;
    for (var i = 0; i < a_all_cookies.length; i++ ) {
        a_temp_cookie = a_all_cookies[i].split( '=' );
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
        if ( cookie_name == check_name ) {
            b_cookie_found = true;
            if ( a_temp_cookie.length > 1 ) {
                cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
            }
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if ( !b_cookie_found ) {
        return null;
    }
}
function FindPerfectVendorsSetVendor (element, id) {
    if (element.checked == true) {
        FindPerfectVendorsAddVendor(id);
    } else {
        FindPerfectVendorsRemoveVendor(id);
    }
}
function FindPerfectVendorsAddVendor(id)
{
    var new_element = document.createElement("input");
    new_element.setAttribute("type", "hidden");
    new_element.setAttribute("name", "selected_categories[]");
    new_element.setAttribute("id", "selected_categor_id" + id);
    new_element.setAttribute("value", id);
    document.forms['FindPerfectVendorsForm'].appendChild(new_element);
}
function FindPerfectVendorsOtherVendorsShow()
{
    document.getElementById('other_vendors_container_control').style.display = 'none';
    document.getElementById('other_vendors_container').style.display = 'block';
}
function FindPerfectVendorsRemoveVendor(id)
{
    if (document.getElementById("selected_categor_id" + id)) {
        document.forms['FindPerfectVendorsForm'].removeChild(document.getElementById("selected_categor_id" + id));
    }
}

function FindPerfectVendorsSelect(event_id, metro_str)
{
    var callback = {
	    success : function(o) {
	        document.getElementById('service_id').innerHTML = o.responseText;
	        var handleCancel = function() {
            	this.hide(); this.destroy();
            }
            var handleSubmit = function() {
                var ev = document.getElementsByName('categories[]');
                var e = 0;
                for (var i=0; i<ev.length; i++) { if(ev[i].checked) { e++; } }
                if(e == 0) { alert('You must select at least one vendor.'); }
                else {
                    var ev = document.getElementsByName('selected_categories[]');
                    if (ev.length > 1) {
                        this.hide(); this.destroy();
                        document.forms['FindPerfectVendorsForm'].submit();
                    } else {
                        this.hide(); this.destroy();
                        var ev = document.getElementsByName('selected_categories[]');
                        var category_id = ev[0].value;
                        var metro_search_name = document.getElementById('SearchAddress').value;
                        var url = webiste_url + "/search_results.html?location_code=" + escape(metro_search_name) + "&category_code=" +  categorySearchName[ category_id ];
                        document.location.href = url;
                    }
                }

            }
            var Buttons = [ { text:"Find Vendors", handler:handleSubmit, isDefault:true }, { text:"Close Window", handler:handleCancel, isDefault:true } ];
            vDialog = new YAHOO.widget.Dialog("FindPerfectVendorsSelect", { width : "740px", fixedcenter : true, visible : false, constraintoviewport : true, modal: true, draggable:true, postmethod:"async", zIndex:10000, hideaftersubmit:false });
            vDialog.cfg.queueProperty("buttons", Buttons);
            vDialog.doSubmit = function() {
                var ev = document.getElementsByName('categories[]');
                var selected_categories = new Array();
                var e = 0;
                for (var i=0; i<ev.length; i++) { if(ev[i].checked) { selected_categories[ e ] = ev[i].value; e++; } }
                if(e == 0) { alert('You must select at least one vendor'); }
                else {
                    set_cookie("perform_party_type_search",'1',1,'/');
                    if (selected_categories.length > 1) {
                        var formObject = document.getElementById('FindPerfectVendorsStep1_form');
                        formObject.internal_action.value = 'submit';
                        YAHOO.util.Connect.setForm(formObject);
                        YAHOO.util.Connect.asyncRequest('POST', '/yui_event_vendors_select_step2.html', callback2);
                        vDialog.cancel();
                    } else {
                        try {
                            var pageTracker = _gat._getTracker("UA-2192641-1");
                            pageTracker._trackPageview('/vpp/vendors');
                        } catch(err) {}
                        var category_id = selected_categories[0];
                        var metro_search_name = document.getElementById('SearchAddress').value;
                        var url = webiste_url + "/search_results.html?location_code=" + escape(metro_search_name) + "&category_code=" +  categorySearchName[ category_id ];
                        document.location.href = url;
                        vDialog.cancel();
                    }
                }
            };
            vDialog.render();
            vDialog.show();
	    },
	    failure : function(o) {
	        document.getElementById('service_id').innerHTML = '';
	    }
	}
	var callback2 = {
        success: function(o) {
            document.getElementById('service_id').innerHTML = o.responseText;

            var handleClose = function() { this.cancel(); this.destroy(); }
            var Buttons = [ { text:"Close Window", handler:handleClose, isDefault:true }];
            vDialog = new YAHOO.widget.Dialog("FindPerfectVendorsSelect_Step2", { width : "740px", fixedcenter : true, visible : false, constraintoviewport : true, modal: true, draggable:true, postmethod:"async", zIndex:10000, hideaftersubmit:false });
            vDialog.cfg.queueProperty("buttons", Buttons);
            vDialog.doSubmit = function() {
                var tag = document.getElementById('vpp_first_name');
                if (isBlank(tag.value)) { alert('Please enter your first name.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_last_name');
                if (isBlank(tag.value)) { alert('Please enter your last name.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_email');
                if (isBlank(tag.value)) { alert('Please enter your email address.'); tag.focus(); return false; }
                if (!checkemail(tag.value)) { alert( tag.value + ' is not a valid email address.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_phone_1');
                if (isBlank(tag.value) ) { alert('Please enter your phone number.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_phone_2');
                if (isBlank(tag.value) ) { alert('Please enter your phone number.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_phone_3');
                if (isBlank(tag.value) ) { alert('Please enter your phone number.'); tag.focus(); return false; }
                var tag = document.getElementById('vpp_event_date');
                if (isBlank(tag.value) ) { alert('Please select your event date.'); return false; }
                var tag = document.getElementById('vpp_accept_agreement');
                if (tag.checked == false) { alert('Please confirm your desire for professionals to contact you before using our service.'); tag.focus(); return false; }
                var formObject = document.getElementById('FindPerfectVendorsStep2_form');
                formObject.internal_action.value = 'submit';
                YAHOO.util.Connect.setForm(formObject);
                YAHOO.util.Connect.asyncRequest('POST', '/yui_event_vendors_select_thanks.html', callback3);
                vDialog.cancel();
            };
            vDialog.render();
            vDialog.show();
            Calendar.setup({ inputField :'vpp_event_date', button : 'vpp_b_event_date', date : past_low_limit_date.print('%m/%d/%Y'), disableFunc : disallow_past_dates });
        },
        failure: function(o) { document.getElementById('service_id').innerHTML = ''; }
    }
    var callback3 = {
        success: function(o) {
            document.getElementById('service_id').innerHTML = o.responseText;

            var handleClose = function() { this.cancel(); this.destroy(); }
            var Buttons = [ { text:"Close Window", handler:handleClose, isDefault:true }];
            vDialog = new YAHOO.widget.Dialog("FindPerfectVendorsSelect_Thanks", { width : "740px", fixedcenter : true, visible : false, constraintoviewport : true, modal: true, draggable:true, postmethod:"async", zIndex:10000, hideaftersubmit:false });
            vDialog.cfg.queueProperty("buttons", Buttons);
            vDialog.render();
            vDialog.show();
            try {
                var pageTracker = _gat._getTracker("UA-2192641-1");
                pageTracker._trackPageview('/vpp');
            } catch(err) {}
        },
        failure: function(o) { document.getElementById('service_id').innerHTML = ''; }
    }
	var ev = document.getElementsByName('selected_categories[]');
    var e = 0;
    var needToRemove =  new Array();
    for (var i=0; i<ev.length; i++) {
        needToRemove[i] = ev[i].id;
    }
    for (var i=0; i<needToRemove.length; i++) {
        document.forms['FindPerfectVendorsForm'].removeChild(document.getElementById( needToRemove[i] ));
    }
	var conn = YAHOO.util.Connect.asyncRequest('GET', '/yui_event_vendors_select.html?event_id=' + event_id + "&metro_str=" + metro_str, callback);
}
function GoogleFindPerfectVendor()
{
    if (PerfectVendorForm != false) {
        var tag = document.getElementById('vpp_event_id');
        var mtag = document.getElementById('SearchAddress');
        set_cookie("geo_metro_display_name",mtag.value,14,'/');
        FindPerfectVendorsSelect(tag.options[ tag.selectedIndex ].value, mtag.value);
    }
}

function verifyFindPerfectVendorForm()
{
    PerfectVendorForm = document.getElementById('FindPerfectVendorsForm');
    var tag = document.getElementById('SearchAddress');
    if (isBlank(tag.value)) { alert('Please enter your location City, State.'); tag.focus(); }
    var tag = document.getElementById('vpp_event_id');
    if (tag.selectedIndex == 0) { alert('Please select an event type.'); tag.focus(); }
    var address = $('#SearchAddress').val();
    xajax_ajax_get_google_city_name(1,address,'SearchAddress','GoogleFindPerfectVendor();');
}

function searchLocationChange(search_form)
{
    LocationChangeForm = search_form;
    var tag = document.getElementById('SearchLocation');
    if (isBlank(tag.value)) { alert('Please enter your location City, State.'); tag.focus(); return false; }
    var address = $('#SearchLocation').val();
    xajax_ajax_get_google_city_name(1,address,'SearchLocation','doCompanySearchTopLocationChange();');
    return false;
}

function doCompanySearchTopLocationChange()
{
    if (LocationChangeForm != false) {
        var mtag = document.getElementById('SearchLocation');
        set_cookie("geo_metro_display_name",mtag.value,14,'/');
        var company_template = LocationChangeForm.search_company_keyword.value;
        if (isBlank(company_template)) {alert("Please enter keyword to search by company"); return false;}
        else {
          LocationChangeForm.action='http://www.mypartyplanner.com/search/company_'+myurlencode(company_template)+'/page1.html';
          LocationChangeForm.submit();
          return true;
        }
    }
}

function verifyChangeVendorForm(sform){
    locationForm = document.getElementById("top_search_vendor_form");
    var b=document.getElementById("top_location_code").value;
    var a=document.getElementById("top_category_code").value;
    var c="";
    var d=document.getElementById("top_search_vendor_form");
    b=b.replace(/(^\s+)|(\s+$)/g, "")
    if(b=="" || b=="Please enter your City &amp; State" || b=="Please enter your City & State") {c+="Please Enter a Location.\n"}
    if(a=="0"){c+="Please Choose a Vendor Type."}
    if(c.length>0){
    alert(c);
    return false;
    }else{
        var isZip = true;
        var numericChars = "0123456789";
        for (var i = 0; i < b.length && isZip == true; i++) {var Char = b.charAt(i); if (numericChars.indexOf(Char) == -1){isZip = false;}}
        if (isZip == true) {
            d.location_code.value=b;d.category_code.value=a;d.action="http://www.mypartyplanner.com/search_results.html";d.submit();return true;
        }else{
            var address = $('#top_location_code').val();
            xajax_ajax_get_google_city_name(1,address,'top_location_code','GoogleLocationSearch();');
            return false;
        }
    }
};
function searchDoCompanySearchTopWithLocation(search_form)
{
    CompanySearchForm = search_form;
    var tag = document.getElementById('company_location');
    var ktag = document.getElementById('company_keyword');
    if (isBlank(ktag.value) || ktag.value == 'Keyword') {alert("Please enter keyword to search by company"); ktag.focus(); return false; }
    var keyword_str = ktag.value;
    var keyword_str = keyword_str.toLowerCase();
    if (document.getElementById('vpp_event_id') != null && document.getElementById('SearchAddress') != null) {
        var vpp_events = document.getElementById('vpp_event_id');
        var vpp_location = document.getElementById('SearchAddress');
        var fevent_id = 0;
        for (var arkey in eventSearchName) {
            if (eventSearchName[ arkey ] == keyword_str) {
                fevent_id = arkey;
            }
        }
        if (fevent_id > 0) {
            var found_event = false;
            for(var i=0; i<vpp_events.length; i++) {
                if (vpp_events.options[ i ].value == fevent_id) {
                    vpp_events.options.selectedIndex = i;
                    found_event = true;
                }
            }
            if (found_event == true) {
                vpp_location.value = tag.value;
                verifyFindPerfectVendorForm();
                return false;
            }
        }
    }
    YAHOO.util.Dom.setStyle(['loading-mask'], 'opacity', 1);
    YAHOO.util.Dom.setStyle(['loading'], 'display', 'block');
    YAHOO.util.Dom.setStyle(['loading-mask'], 'display', 'block');
    if (!isBlank(tag.value) && tag.value != 'Your Location') {
        var address = $('#company_location').val();
        xajax_ajax_get_google_city_name(1,address,'company_location','doCompanySearchTopWithLocation();');
    } else {
        var company_template = ktag.value;
        tag.value = '';
        CompanySearchForm.action='http://www.mypartyplanner.com/search/company_'+myurlencode(company_template)+'/page1.html';
        CompanySearchForm.submit();
        return true;
    }
    return false;
}

function doCompanySearchTopWithLocation() {
    if (CompanySearchForm != false) {
        var mtag = document.getElementById('company_location');
        set_cookie("geo_metro_display_name",mtag.value,14,'/');
        var company_template = document.getElementById('company_keyword').value;
        if (isBlank(company_template)) {alert("Please enter keyword to search by company"); return false;}
        else {
          CompanySearchForm.action='http://www.mypartyplanner.com/search/company_'+myurlencode(company_template)+'/page1.html';
          CompanySearchForm.submit();
          return true;
        }
    }
}
function rotateImages() {
    $(document).ready(function(){
        $('#SlideShow').fadeTo("slow", 0.3, function () {
            j = j + 1;
            if (j > (p - 1)) j = 0;
            document.images.SlideShow.src = preLoad[j].src;
            $('#SlideShow').fadeTo("slow", 1);
            t = setTimeout('rotateImages()', slideShowSpeed);
        });
    });
}
function slideSwitch() {
    var $active = $('#slideshow IMG.active');
    if ( $active.length == 0 ) $active = $('#slideshow IMG:last');
    var $next =  $active.next().length ? $active.next()
        : $('#slideshow IMG:first');
    $active.addClass('last-active');
    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}

function google_page_tracker(page) {
    try {
        var pageTracker = _gat._getTracker("UA-2192641-1");
        pageTracker._trackPageview(page);
    } catch(err) {}
    return true;
}
function currency_format(n, d)
{
    n = n - 0;
  if (d == null) d = 2;
  var f = Math.pow(10, d);
  n += Math.pow(10, - (d + 1));
  n = Math.round(n * f) / f;
  n += Math.pow(10, - (d + 1));
  n += '';
  return d == 0 ? n.substring(0, n.indexOf('.')) :  n.substring(0, n.indexOf('.') + d + 1);
}

function searchDoSuppliesSearch(search_form)
{
    CompanySearchForm = search_form;
    var ktag = document.getElementById('supplies_keywords');
    if (isBlank(ktag.value) || ktag.value == 'Keyword') {alert("Please enter keyword to search!"); ktag.focus(); return false; }
    var keyword_str = ktag.value;
    var keyword_str = keyword_str.toLowerCase();
    YAHOO.util.Dom.setStyle(['loading-mask'], 'opacity', 1);
    YAHOO.util.Dom.setStyle(['loading'], 'display', 'block');
    YAHOO.util.Dom.setStyle(['loading-mask'], 'display', 'block');
    var company_template = keyword_str;
    CompanySearchForm.action='/supplies/search_'+myurlencode(company_template)+'.html';
    CompanySearchForm.submit();
    return true;
}
function searchDoSuppliesSearchTop(search_form)
{
    CompanySearchForm = search_form;
    var ktag = document.getElementById('supplies_keywords_top');
    if (isBlank(ktag.value) || ktag.value == 'Keyword') {alert("Please enter keyword to search!"); ktag.focus(); return false; }
    var keyword_str = ktag.value;
    var keyword_str = keyword_str.toLowerCase();
    YAHOO.util.Dom.setStyle(['loading-mask'], 'opacity', 1);
    YAHOO.util.Dom.setStyle(['loading'], 'display', 'block');
    YAHOO.util.Dom.setStyle(['loading-mask'], 'display', 'block');
    var company_template = keyword_str;
    CompanySearchForm.action='/supplies/search_'+myurlencode(company_template)+'.html';
    CompanySearchForm.submit();
    return true;
}

function verifyInstantQuoteForm()
{
    var validForm = true;
    var instant_quote_full_name = document.getElementById('f_instant_quote_full_name');
    if (isBlank(instant_quote_full_name.value) && validForm == true) { alert('Please enter your name.'); instant_quote_full_name.focus(); validForm = false; }
    var instant_quote_phone = document.getElementById('f_instant_quote_phone');
    if (isBlank(instant_quote_phone.value) && validForm == true) { alert('Please enter your phone number.'); instant_quote_phone.focus(); validForm = false; }
    var instant_quote_email = document.getElementById('f_instant_quote_email');
    if (isBlank(instant_quote_email.value) && validForm == true) { alert('Please enter your E-mail address.'); instant_quote_email.focus(); validForm = false; }
    if (!checkemail(instant_quote_email.value) && validForm == true) { alert( instant_quote_email.value + ' is not a valid email address.'); instant_quote_email.focus(); validForm = false; }
    if (validForm == true) {
        InstantQuoteSubmitWindow(instant_quote_full_name.value, instant_quote_phone.value, instant_quote_email.value);
    }
}
function InstantQuoteSubmitWindow(instant_quote_full_name, instant_quote_phone, instant_quote_email)
{
    var callback = {
	    success : function(o) {
	        document.getElementById('service_id').innerHTML = o.responseText;
	        var handleCancel = function() {
            	this.hide(); this.destroy();
            }
            var handleSubmit = function() {

            }
            var Buttons = [ { text:"Find Vendors", handler:handleSubmit, isDefault:true }, { text:"Close Window", handler:handleCancel, isDefault:true } ];
            vDialog = new YAHOO.widget.Dialog("FindPerfectVendorsSelect_Step2", { width : "740px", fixedcenter : true, visible : false, constraintoviewport : true, modal: true, draggable:true, postmethod:"async", zIndex:10000, hideaftersubmit:false });
            vDialog.cfg.queueProperty("buttons", Buttons);
            vDialog.doSubmit = function() {
                var tag = document.getElementById('instant_quote_full_name');
                if (isBlank(tag.value)) { alert('Please enter your name.'); tag.focus(); return false; }
                tag = document.getElementById('instant_quote_email');
                if (isBlank(tag.value)) { alert('Please enter your E-mail address.'); tag.focus(); return false; }
                if (!checkemail(tag.value)) { alert( tag.value + ' is not a valid email address.'); tag.focus(); return false; }
                var tag1 = document.getElementById('instant_quote_phone_1');
                var tag2 = document.getElementById('instant_quote_phone_2');
                var tag3 = document.getElementById('instant_quote_phone_3');
                if (isBlank(tag1.value)) { alert('Please enter your phone number.'); return false; }
                tag = document.getElementById('instant_quote_event_id');
                if (tag.selectedIndex == 0) { alert('Please select a type of event.'); tag.focus(); return false; }
                tag = document.getElementById('instant_quote_event_date');
                if (isBlank(tag.value)) { alert('Please enter your party date.'); tag.focus(); return false; }
                if (!checkdate2(tag.value)) { alert( tag.value + ' is not a valid date. Use mm/dd/yyyy format.'); tag.focus(); return false; }
                var formObject = document.getElementById('FindPerfectVendorsStep2_form');
                formObject.internal_action.value = 'submit';
                YAHOO.util.Connect.setForm(formObject);
                YAHOO.util.Connect.asyncRequest('POST', '/yui_instant_quote_thanks.html', callback2);
                vDialog.cancel();
            };
            vDialog.render();
            vDialog.show();
            Calendar.setup({ inputField :'instant_quote_event_date', button : 'instant_quote_b_event_date', date : past_low_limit_date.print('%m/%d/%Y'), disableFunc : disallow_past_dates });
	    },
	    failure : function(o) {
	        document.getElementById('service_id').innerHTML = '';
	    }
	}
    var callback2 = {
        success: function(o) {
            document.getElementById('service_id').innerHTML = o.responseText;
            var handleClose = function() { this.cancel(); this.destroy(); }
            var Buttons = [ { text:"Close Window", handler:handleClose, isDefault:true }];
            vDialog = new YAHOO.widget.Dialog("FindPerfectVendorsSelect_Thanks", { width : "740px", fixedcenter : true, visible : false, constraintoviewport : true, modal: true, draggable:true, postmethod:"async", zIndex:10000, hideaftersubmit:false });
            vDialog.cfg.queueProperty("buttons", Buttons);
            vDialog.render();
            vDialog.show();
        },
        failure: function(o) { document.getElementById('service_id').innerHTML = ''; }
    }
    var instant_quote_category_id = document.getElementById('f_instant_quote_category_id').value;
    var instant_quote_event_id = document.getElementById('f_instant_quote_event_id').value;
    var instant_quote_metro_id = document.getElementById('f_instant_quote_metro_id').value;
    var instant_quote_state_id = document.getElementById('f_instant_quote_state_id').value;
    var instant_quote_city = document.getElementById('f_instant_quote_city').value;
    var instant_quote_metro_str = document.getElementById('f_instant_quote_metro_str').value;
    var total_paid = document.getElementById('f_total_paid').value;
	var conn = YAHOO.util.Connect.asyncRequest('GET', '/yui_instant_quote.html?instant_quote_full_name='+instant_quote_full_name+'&instant_quote_phone='+instant_quote_phone+'&instant_quote_email='+instant_quote_email+'&instant_quote_category_id='+instant_quote_category_id+'&instant_quote_event_id='+instant_quote_event_id+'&instant_quote_metro_id='+instant_quote_metro_id+'&instant_quote_state_id='+instant_quote_state_id+'&instant_quote_city='+instant_quote_city+'&instant_quote_metro_str='+instant_quote_metro_str+'&total_paid='+total_paid, callback);
}

function show_listings_reviews()
{
    var listings_reviews_container = document.getElementById('listings_reviews_container');
    var listings_reviews_list = document.getElementById('listings_reviews_list');
    var reviews_content = listings_reviews_container.innerHTML;
    listings_reviews_list.innerHTML = reviews_content;
    listings_reviews_container.innerHTML = '';
}
function view_more_reviews()
{
    document.getElementById('listing_review_view_more').style.display = 'none';
    document.getElementById('listings_reviews_more').style.display = '';
}



function doCompanyVerdorSearch()
{
    var search_form = document.getElementById('find_perfect_verdor_form');
    var state_tag = document.getElementById('search_state_code');
    var city_tag = document.getElementById('search_city_code');
    var vendor_tag = document.getElementById('search_vendor_type');
    var search_url = '';
    if (vendor_tag.selectedIndex == 0) { alert("Please select a vendor type."); vendor_tag.focus(); return false; }
    if (state_tag.selectedIndex == 0) { alert("Please select a state."); state_tag.focus(); return false; }
    if (city_tag.selectedIndex == 0) { alert("Please select a city."); city_tag.focus(); return false; }
    if (city_tag.selectedIndex > 0) {
        search_url = '/' + city_tag.options[ city_tag.selectedIndex ].value + '-' + vendor_tag.options[ vendor_tag.selectedIndex ].value + '-contact-info.html';
    }
    if (search_url != '') {
        search_form.action = search_url;
        search_form.submit();
        return true;
    } else {
        return false;
    }
}



