
function dateAddExtention(p_Interval, p_Number){
    var thing = new String();
    
    //in the spirt of VB we'll make this function non-case sensitive
    //and convert the charcters for the coder.
    p_Interval = p_Interval.toLowerCase();
    
    if(isNaN(p_Number)){
    
        //Only accpets numbers 
        //throws an error so that the coder can see why he effed up    
        throw "The second parameter must be a number. \n You passed: " + p_Number;
        return false;
    }

    p_Number = new Number(p_Number);
    switch(p_Interval.toLowerCase()){
        case "yyyy": {// year
            this.setFullYear(this.getFullYear() + p_Number);
            break;
        }
        case "q": {        // quarter
            this.setMonth(this.getMonth() + (p_Number*3));
            break;
        }
        case "m": {        // month
            this.setMonth(this.getMonth() + p_Number);
            break;
        }
        case "y":        // day of year
        case "d":        // day
        case "w": {        // weekday
            this.setDate(this.getDate() + p_Number);
            break;
        }
        case "ww": {    // week of year
            this.setDate(this.getDate() + (p_Number*7));
            break;
        }
        case "h": {        // hour
            this.setHours(this.getHours() + p_Number);
            break;
        }
        case "n": {        // minute
            this.setMinutes(this.getMinutes() + p_Number);
            break;
        }
        case "s": {        // second
            this.setSeconds(this.getSeconds() + p_Number);
            break;
        }
        case "ms": {        // second
            this.setMilliseconds(this.getMilliseconds() + p_Number);
            break;
        }
        default: {
        
            //throws an error so that the coder can see why he effed up and
            //a list of elegible letters.
            throw    "The first parameter must be a string from this list: \n" +
                    "yyyy, q, m, y, d, w, ww, h, n, s, or ms. You passed: " + p_Interval;
            return false;
        }
    }
    return this;
}
Date.prototype.dateAdd = dateAddExtention;
function daysDifferent(fD,sD){
	var firstDate = new Date(fD.valueOf());
	var secondDate = new Date(sD.valueOf());
	
	var dd = 0;
	
	while(firstDate.getYear()!= secondDate.getYear()){
		var years = secondDate.getYear() - firstDate.getYear();
		var daysAdd = years * 350;
		firstDate.dateAdd("d",daysAdd);
		dd+= daysAdd;
	}
	
	while(firstDate.getMonth()!= secondDate.getMonth()){
		var months = secondDate.getMonth() - firstDate.getMonth();
		var daysAdd = months * 25;
		firstDate.dateAdd("d",daysAdd);
		dd+= daysAdd;
	}
	
	while(firstDate.getDate()!= secondDate.getDate()){
		var daysAdd = secondDate.getDate() - firstDate.getDate();
		firstDate.dateAdd("d",daysAdd);
		dd+= daysAdd;
	}
	
	return dd;
}



$(function(){
	//Menu Code
	$("#menu ul li").hover(function(){ 
		$(">ul", this).show("fast"); 
	}, function(){
		$(">ul", this).hide("fast"); 
	});
	
	var today = new Date();
	today.setHours(0);
	today.setSeconds(0);
	today.setMinutes(0);
	today.setMilliseconds(0);
	
	var twoYears = new Date(today.valueOf());
	twoYears.dateAdd("yyyy",2);
	
	
	$("#search_f_date_c").datepicker({
	 	dateFormat: 'd MM yy',
	 	minDate: today,
	 	maxDate: twoYears
	});
	$("#search_f_trigger_c").click(function(){
		$("#search_f_date_c").focus();
	});
	$("#search_t_date_c").datepicker({
	 	dateFormat: 'd MM yy',
	 	minDate: today,
	 	maxDate: twoYears
	});
	$("#search_t_trigger_c").click(function(){
		$("#search_t_date_c").focus();
	});
});




function rotateMarq(){
	var m = document.getElementById("Marq");	
	var l = document.getElementById("Logos");
	var fc = l.getElementsByTagName("img");
	var c = l.getElementsByTagName("a")[0];
	l.style.left ="0px";
	new Silk(l, "left", null, (fc[0].clientWidth*-1), "px", 1, function (){ l.removeChild(c); l.appendChild(c); rotateMarq();}); 
}
function toggleMenu(ele){
	var cont = document.getElementById("topMenu");
	var r = document.getElementById("Rentals");
	var h = document.getElementById("Holidays");
	var s = document.getElementById("ForSale");
	var a = document.getElementById("AvailabilitySearch");
	var el = document.getElementById(ele);

		if(r.style.top=="0px" || h.style.top=="0px" || s.style.top=="0px" || a.style.top=="0px"){
			new Silk(cont, "height", null, 23, "px", 25, null);
			new Silk(r, "top", null, -260, "px", 25, function(){r.style.zIndex="52"});
			new Silk(h, "top", null, -260, "px", 25, function(){h.style.zIndex="51"});
			new Silk(s, "top", null, -190, "px", 25, function(){s.style.zIndex="53"});
			new Silk(a, "top", null, -190, "px", 25, function(){a.style.zIndex="50"});
			if(el.style.top=="0px"){
				return;
			}
			setTimeout(function(){toggleMenu(ele)},2);
		}
	if(el==a){
		var height = 213;
	}
	else{
		var height = 283;
	}
	new Silk(cont, "height", null, height, "px", 25, null);
	new Silk(el, "top", null, 0, "px", 25, null);
	el.style.zIndex="49";
	return;	
}

function resetCss(){
	if(navigator.userAgent.indexOf("Firefox")!=-1){
		var versionindex=navigator.userAgent.indexOf("Firefox")+8
		if (parseInt(navigator.userAgent.charAt(versionindex))>=1)
		var oldCss = document.getElementById('maincss').href;
		document.getElementById('maincss').href='';
		document.getElementById('maincss').href=oldCss;
	}
}
function NewWin(Location, Width, Height) {
	var leftprop, topprop, screenX, screenY;
	if(navigator.appName == "Microsoft Internet Explorer") {
		screenY = document.body.offsetHeight;
		screenX = window.screen.availWidth;
	} else {
		screenY = window.outerHeight
		screenX = window.outerWidth
	}

	leftvar = (screenX - Width) / 2;
	rightvar = (screenY - Height) / 2;
	if(navigator.appName == "Microsoft Internet Explorer") {
		leftprop = leftvar;
		topprop = rightvar;
	} else {
		leftprop = (leftvar - pageXOffset);
		topprop = (rightvar - pageYOffset);
	}
	VP=window.open(Location,'NewWin','menubar=no,titlebar=no,toolbar=no,scrollbars=yes,status=no,width=' + Width + ',height=' + Height + ',left=' + leftprop + ',top=' + topprop + ',resizable=yes');
	VP.focus();
}

function Go(link) {
	location.href = link;
}
function scrollWindow(xScroll, yScroll){
	scroll((getScrollXY()[0] + (0-xScroll*8*3)),(getScrollXY()[1] +  (0-yScroll*8*3)));
	return true;
}
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}
