/**
 * @author jsouris
 */

if (typeof ripName == "undefined"){
                    ripName = function(thisName){
                       //var myURL = ;
	var myVarsArray = location.search.split("&");      
	
	var tempVar;
	var tempVars;
	var tempVarArray;
	var tempName;
	var tempToggle;
	var returnValue = "";
	for (eachOne in myVarsArray) {
		tempVar = myVarsArray[eachOne];
		tempVars = tempVar.split("?");
		for (eachSecond in tempVars) {
			tempVarArray = ( tempVars[eachSecond].split("="));
					tempToggle = false;
				for (eachThird in tempVarArray) {
					if (tempToggle == false) {              
						tempName = tempVarArray[eachThird];
						
						 tempToggle = true; 
					} else {
						tempVal = tempVarArray[eachThird];
					}
				}
				if (tempName==thisName && tempVal!="") {
					returnValue = tempVal;
					
				}
			}
		}
	
	return unescape(returnValue);                    
                    }
}

getElementsByClass = function(theClass, tag, snode)
{
  var elementArray = [];
  var mtag = tag || "*";
  var mnode = snode || document;
  elementArray = mnode.getElementsByTagName(mtag);

  var matchedArray = [];
  var pattern = new RegExp("(^| )" + theClass + "( |$)");

  for (var i = 0; i < elementArray.length; i++)
  {
    if (pattern.test(elementArray[i].className))
    {
      matchedArray[matchedArray.length] = elementArray[i];
    }
  }

  return matchedArray;
};
batch = function(el, method){
            var collection = [];
            
            for (var i = 0, len = el.length; i < len; ++i) {
                collection[collection.length] = method.call(window, el[i]);
            }
            
            return collection;
};

 function rtnDomain(country){
	
	var thisaff =  ripName("aff");
	var haesLocation = "haes.holidayautos.com";
	var defaultLocation = "www.holidayautos.co.uk";
	
	if ((thisaff == "xtravelocity") || (location.hostname.indexOf("travelocity") != -1)){
		haesLocation = "haes.carhire.travelocity.co.uk";
		defaultLocation = "carhire.travelocity.co.uk";		
	}else if((thisaff == "xcarhire4less") || (location.hostname.indexOf("carhire4less") != -1)){
		haesLocation = "haes.carhire4less.co.uk";
		defaultLocation = "booking.carhire4less.co.uk";
		
	}

	
	if (isPortuSpain(country)){
			return haesLocation;
	}else{
			return defaultLocation;
	}	
};

function sAction(sparams, getAff, bOldUi) {
		var area = document.getElementById("area") || document.details.area; 
		var selCountry = area.options[area.selectedIndex].innerHTML;
		var lowerCountry = selCountry.toLowerCase();
		var strAff;
		if(getAff){
			getAff = ripName('aff');
			if(getAff != "unknown"){
				strAff = getAff;
			}else{
				strAff = "";
			}
		}else{
			strAff = "";
		};

		if(bOldUi){
		 document.details.action = "http://" + rtnDomain(lowerCountry) + "/cgi-bin/liveweb.sh/QSearch.w" + sparams + strAff;
		}else{
		 document.details.action = "http://" + rtnDomain(lowerCountry) + "/cgi-bin/liveweb.sh/carlist.w" + sparams + strAff;
		}
		
	if (typeof doFormQS != "undefined") {
		return doFormQS();
	}else{
		return true;
	}
};

///cgi-bin/liveweb.sh/QSearch.w?UckUcZllaaIpkkac=&POlfigXkjkjkWbdq=&SblzdbFStskKccak=&RkkFlPbjklpsIaUb=GBR&etqjdAiifjSdWkdl=xdch&aff=xdch&ctryref=GBR&lang=EN&currcode=&ClerkID=

function updateBookLnks(cntrys, resultNode, bookLnks, tag){
 var arLnks = [];
 var mtag = tag || "a";
 resultNode = document.getElementById(resultNode);
 arLnks = getElementsByClass(bookLnks, mtag, resultNode);
 var mhref;
 
 var poll = window.setInterval(function() {
  if (document.details.quote_id.value != ""){	
    window.clearInterval(poll);
	var c_quotation = document.details.quote_id.value;

		var i=0,len=arLnks.length;
		for (i; i < len; i++){
			if(arLnks[i].href){
						mhref = arLnks[i].href;
						arLnks[i].href = "";

						arLnks[i].href = mhref + c_quotation;
			}else{continue}
		}
	}
  }, 50);
};

function isPortuSpain(cntry){
 var arrSP = ["gerona","almeria","arrecife","barcelona","alicante","faro", "mahon", "las palmas", "jeres", "seville", "menorca", "granada", "majorca", "lisbon","malaga","murcia","palma","portugal","valencia","spain","ibiza"];
 var rtnVal = false
 cntry = cntry.toLowerCase();

	for (var i=0, len=arrSP.length; i < len;++i){
		if (cntry.match(arrSP[i])){
			return true;
		}
	};
	
	return false;
};

function updateDLinks(dlinks, sNode){
	var deepLinks = getElementsByClass(dlinks, 'a', document.getElementById(sNode));
	batch(deepLinks, function(el){
	
		if (el.href && ( (el.href.indexOf("/GBR/") != -1) || (el.href.indexOf("/cgi-bin/") != -1) ) ) {
			var strIndex = (el.href.indexOf("/GBR/") != -1) ? "/GBR/" : "/cgi-bin/";			
			var strCountry = el.title || el.href;
			var strH = "http://" + rtnDomain(strCountry) + el.href.substr(el.href.indexOf(strIndex));
			el.href = strH;
		}
	});	
};
