function getBreadcrumb() {
    var breadcrumb = YAHOO.util.Dom.get('breadcrumb');
    if (breadcrumb) return (breadcrumb.innerText || breadcrumb.textContent);
}


var dateFieldsPopulated = false; // FLAG VAR USED IN THIS FILE ONLY

    function gotoCheckoutStep(i){
        try{
            var editLink = document.getElementById('segment_'+i).childNodes[0];
            if(editLink.tagName=='A') window.location.href = editLink.href;
        }catch(Error){
            //alert(Error);
        }
    }

/* PROGRESS BAR

    YAHOO.util.Event.onDOMReady(function(){
        var h1 = document.getElementById('segment_1');
        var h2 = document.getElementById('segment_2');
        var h3 = document.getElementById('segment_3');
        if(h1&&h1.childNodes[0].tagName=='A'){
            document.getElementById('progressBar_personal').style.opacity = '1';
            document.getElementById('progressBar_personal').style.filters = 'alpha(opacity=50)';
        }
        if(h2&&h2.childNodes[0].tagName=='A'){
            document.getElementById('progressBar_terms').style.opacity = '1';
            document.getElementById('progressBar_terms').style.filters = 'alpha(opacity=50)';
        }
        if(h3&&h3.childNodes[0].tagName=='A'){
            document.getElementById('progressBar_billing').style.opacity = '1';
            document.getElementById('progressBar_billing').style.filters = 'alpha(opacity=50)';
        }
    });
*/

/* MSGBUBBLE */

//  YAHOO.util.Event.onDOMReady(function(){
//    msgBubble_checkDates();
//    window.setTimeout(function(){
//	    msgBubble_checkDates();
//            SetCheckoutFormVisibility();
//    },1000);
//  });

//function msgBubble_checkDates(){
////debugger;
//    // CHECK FOR EMPTY Move-In Date FIELDS
//    var dropdowns = YAHOO.util.Dom.getElementsByClassName('dropdown_moveInDate');
//
//        var msgBalloon = YAHOO.util.Dom.get('msgBalloon');
//        if(!msgBalloon) return;
//        var msgBalloon_caption = YAHOO.util.Dom.get('msgBalloon_caption');
//
//        msgBalloon.style.display = 'none';
//
//        for(var i=0;i<dropdowns.length;i++){
//
//	        var dropdown = dropdowns[i];
//
//	        if(dropdown.value){
//	            dropdown.attributes['current_value'].nodeValue = dropdown.value;
//	        }else{
//	            if(dropdown.attributes['current_value'].nodeValue!='1/1/2222') dropdown.value = dropdown.attributes['current_value'].nodeValue;
//	        }

//    	        dropdown.style.backgroundColor = (!dropdown.value)?'#FFFF99':'#fff';
//
//	        if(!dropdown.value&&msgBalloon.style.display=='none'){
//
//	            if(dropdown.id.indexOf('holdUntilDate_')==0){

//		            // UNIT IS RESERVED
//		           msgBalloon_caption.innerHTML = YAHOO.util.Dom.get('mbox_checkoutDateHold').innerHTML;
//	            }else{
//		            // UNIT IS FOR RENT
//		            msgBalloon_caption.innerHTML = YAHOO.util.Dom.get('mbox_checkoutDateRent').innerHTML;
//	            }
//	            var coords = YAHOO.util.Dom.getXY(dropdown);
//	            msgBalloon.style.display = 'block';
//	            msgBalloon.style.top = (coords[1] - msgBalloon.clientHeight + 31) + 'px';
//	            msgBalloon.style.left = (coords[0] - msgBalloon.clientWidth - 4) + 'px';
//                    msgBalloon.style.visibility = 'visible';
//	        }

//        }

//      	   // HIDE FORM IF A DATE FIELD IS NOT POPULATED
//	   if(YAHOO.util.Dom.get('checkout')){
//	   	   dateFieldsPopulated = (msgBalloon.style.display != 'block');
//	   	   if(dateFieldsPopulated){
//			   //YAHOO.util.Dom.get('btn_check_out').src = 'images/btn_check_out_active.gif';
//			   YAHOO.util.Dom.get('btn_check_out').src = 'images/btn_finish.gif.gif';
//		   }
//	   }

//}
///* /MSGBUBBLE */

function SetCheckoutFormVisibility(){
	//if(YAHOO.util.Dom.get('checkout')) YAHOO.util.Dom.get('checkout').style.display = (!dateFieldsPopulated)?'none':'block';
	if(YAHOO.util.Dom.get('checkout')){
		//var show_cart = YAHOO.util.Dom.get('mbox_cart_hide_form').innerHTML.indexOf('SHOW CART')>-1;
		var show_cart = (YAHOO.util.Cookie.get('hideCartFlag')!='true');
		if(!dateFieldsPopulated) YAHOO.util.Dom.get('checkout').style.display = 'none';

//		alert(show_cart);

		if(show_cart&&dateFieldsPopulated){
			YAHOO.util.Dom.get('checkout').style.display = 'block';
		}else if(!show_cart&&dateFieldsPopulated){
			if(YAHOO.util.Cookie.get('hideCart')!='true'){
				YAHOO.util.Cookie.set('hideCart', 'true');
				window.location.reload();
			}
		}
	}
}

function appendSiteID(loc, siteID, sizeID) {
    //if (siteID) {
        var hash = null;
        if (loc.indexOf('#') > -1) {
            hash = loc.substring(loc.indexOf('#'));
            loc = loc.substring(0, loc.indexOf('#')-1);
        }
        loc = loc.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""); //trim
        if (!loc.match(/\&$/) && !loc.match(/\?$/)) {
            loc += loc.indexOf('?') > -1 ? '&' : '?';
        }
        loc = loc.replace(/siteID=[0-9]*/gi, '');
        loc = loc.replace(/ra=[0-9]*/gi, '');
        loc = loc.replace(/\&+/gi, '&');
        if (siteID) {
            loc += 'siteID=' + siteID;
            if (sizeID) {
                loc += '&sizeID=' + sizeID;
            }
        }
        else {
            loc += 'ra=1';
        }
        if (hash) {
            loc += hash;
        }
    //}
    return loc;
}
function getURLParam(strParamName) {
    var strReturn = "";
    var strHref = window.location.href;
    if (strHref.indexOf("?") > -1) {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for (var iParam = 0; iParam < aQueryString.length; iParam++) {
            if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1) {
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return unescape(strReturn);
}

function saveState(siteID, itemID) {
    //debugger;
    YAHOO.util.Cookie.set("SearchURL_" + siteID + "_" + itemID, window.location.href);
    YAHOO.util.Cookie.set("AccordionCache_" + siteID + "_" + itemID, psui.readCookie('accordionCache'));
}

function ReturnToSearchStorageResults(siteID, sizeID) {
    if (sizeID != null) {
        var url = YAHOO.util.Cookie.get("SearchURL_" + siteID + "_" + sizeID);
        if (url) {
            window.location.href = appendSiteID(url, siteID, sizeID);
            return;
        }
    }
    var searchURL = YAHOO.util.Cookie.get("SearchURL_Storage");
    var searchCriteria = YAHOO.util.Cookie.get("SearchCriteria");
    if (searchURL) {
        window.location.href = appendSiteID(searchURL, siteID);
    }else if(searchCriteria){
        window.location = appendSiteID('storage-search.aspx?sIFR_callback_3=&location=' + searchCriteria, siteID);
    }
}
function ReturnToSearchTruckResults(siteID, truckRentalID) {
    if (truckRentalID != null) {
        var url = YAHOO.util.Cookie.get("SearchURL_" + siteID + "_" + truckRentalID);
        if (url) {
            window.location.href = appendSiteID(url, siteID, truckRentalID);
            return;
        }
    }
    var searchURL = YAHOO.util.Cookie.get("SearchURL_Truck");
    if (searchURL) {
        window.location.href = appendSiteID(searchURL, siteID);
    }else{
        window.location = appendSiteID('storage-truck-rental.aspx', siteID);
    }
}

function ItemRemovedTruck(siteID) {
    // RELOADS PAGE OR RETURNS USER TO SEARCH RESULTS AFTER ITEM REMOVAL
    //if (psui.order.data.Trucks.length > 0) {
    if (psui.order.dataCount() > 0) {
        // USING .reload() CAUSES FORM TO BE REPOSTED
        document.location.href = document.location.href;
    } else {
    ReturnToSearchTruckResults();
        //ReturnToSearchTruckResults(siteID);
    }
}
function ItemRemoved(siteID){
    // RELOADS PAGE OR RETURNS USER TO SEARCH RESULTS AFTER ITEM REMOVAL
    //if(psui.order.data.StorageUnits.length>0){
    if (psui.order.dataCount() > 0) {
        // USING .reload() CAUSES FORM TO BE REPOSTED
        document.location.href = document.location.href;
    } else {
        ReturnToSearchStorageResults();
        //ReturnToSearchStorageResults(siteID);
    }
}

/* PROTOTYPE EXTENSIONS */

String.prototype.replaceAll = function(s_find,s_replace){
	var ret = this;
	while(ret.indexOf(s_find)>-1){
		ret = ret.replace(s_find,s_replace);
	}
	return ret;
}

function initial_caps(txt){
	ary_txt = txt.split(' ');
	var ret = '';
	for(var i=0;i<ary_txt.length;i++){
		ary_txt[i] = ary_txt[i].substr(0,1).toUpperCase() + ary_txt[i].substr(1).toLowerCase();

		// STATE ABBREVIATION PROVISION
		if(i==ary_txt.length-2&&ary_txt[i].length==2&&((ary_txt[i+1]-0)!='NaN')){
			ary_txt[i] = ary_txt[i].toUpperCase();
		}
		ret += ' ' + ary_txt[i];
	}
	return ret.substr(1);
}

function generate_product_list(params){
	//try{
		/*

			params.unique
			params.detail

		*/
		switch(params.method){
			case 'searchResultsStorage':
				// used in storage search only (psui.searchResults.JSONResponseString)
				var list = '';
				var data = params.data;
				for(var i=0;i<data.length;i++){
					var product_name = 'Unit-' + data[i].WidthxLength;
					if(params.unique){
						if(list.indexOf(',;' + product_name + ',;')==-1) list += ',;' + product_name;
					}else{
						list += ',;' + product_name
					}
				}
				if(list) return list.substr(1);
				break;

			case 'orderData':
				// psOrderCookie
				var list = '';
				var data = ((typeof params.data)=='string')?YAHOO.lang.JSON.parse(params.data):params.data;
				var data_storage;

				// STORAGE UNITS
				data_storage = data['StorageUnits'];
				if(data_storage){
					for(var i=0;i<data_storage.length;i++){
						var product_name = 'Unit-' + data_storage[i].ProductName;
						var product_addition = ',;' + product_name;
						if(params.names_only){
							if((params.unique&&list.indexOf(product_addition + ',;')==-1)||!params.unique){
								list += product_addition;
							}
						}else{
							product_addition += ';1;' + data_storage[i].Price + ';;eVar20=Unit' + ((data_storage[i].TransactionType=='Rent')?'Rent':'Hold');
							if((params.unique&&list.indexOf(product_addition + ',;')==-1)||!params.unique){
								list += product_addition;
							}
						}

					}

				}

				// TRUCKS
				data_storage = data['Trucks'];
				if(data_storage){
					for(var i=0;i<data_storage.length;i++){
						var product_name = 'Truck-' + data_storage[i].ProductName;
						var product_addition = ',;' + product_name;
						if(params.names_only){
							if((params.unique&&list.indexOf(product_addition + ',;')==-1)||!params.unique){
								list += product_addition;
							}
						}else{
							product_addition += ';1;' + data_storage[i].Price + ';;eVar20=Truck';
							if((params.unique&&list.indexOf(product_addition + ',;')==-1)||!params.unique){
								list += product_addition;
							}
						}
					}

				}

				if(list) return list.substr(1);

				break;
		}
	//}catch(err){

	//}
}

function scTrack(data,link_name){
    if (data) {
        var linkTrackVars = '';

        for (key in data) {
            if (key) {
                linkTrackVars += "," + key;
            }
        }
        if(linkTrackVars) data.linkTrackVars = linkTrackVars.substr(1);
        data.linkTrackEvents = data.events;
        //data.events = '';
	var s = s_gi(s_account);
	s = YAHOO.lang.merge(s,data);
	s.tl(window.location.href, 'o', link_name);
    }
}

function flagCartVisibility(visible){
//	YAHOO.util.Cookie.set('hideCartFlag',!visible);
}

function parseHTMLPrice(html){
	try{
		var pos_dollar = html.lastIndexOf('$');
		if(pos_dollar==-1){
			return html;
		}else{
			var pos_decimal = html.indexOf('.',pos_dollar);
			return html.substr(pos_dollar+1,pos_decimal-pos_dollar+2);
		}
	}catch(err){

	}
}

function toggleSizeGuide(param) {
    var size_guide = document.getElementById('SizeGuideSWF');
    if (!size_guide) return;
    if (param == "close") {
        size_guide.style.display = 'none';
    }
    else {
        size_guide.style.display = 'block';
        if (screen.width == 1024) {
            size_guide.style.left = "245px";
            size_guide.style.top = "102px";
        }
        var iframe = document.createElement('iframe');
        iframe.src = '/size_guide_sitecatalyst.asp';
        iframe.style.width = '0px';
        iframe.style.height = '0px';
        iframe.style.visibility = 'hidden';
        iframe.style.position = 'absolute';
        var body = document.body;
        if (body) body.appendChild(iframe);
    }
}
