// JavaScript Document

function mouseOn(menuItem) {
	var str = menuItem.src;
	menuItem.src = str.replace(/.gif/, "_on.gif");
}

function mouseOff(menuItem) {
	var str = menuItem.src;
	menuItem.src = str.replace(/_on.gif/, ".gif");
}
//Bookmark article
function addFavorite(){

    if(document.all) //IE
    {   
    	window.external.AddFavorite(baseurl, 'Renovators Place');
  	}
    else if(window.sidebar) //firefox
    {
        window.sidebar.addPanel('Renovators Place', baseurl,'');
    }
    else 
    {
   		alert(baseurl); return false;
  	}	
}
//Popup email to friend on article and newsroom
function emailToFriend(url, frompage) {
	var w = 800;
	var h = 480;
	window.open(baseurl+'email-to-friend/'+url+'/'+frompage+'.cfm','email','height='+h+', width='+w+', resizable=no, toolbar=no, menubar=no, top=50, left=50');
}

function printArticle(id) {
	var w = 800;
	var h = 520;
	url=baseurl + "article-printable/" + id + ".cfm";
	var win = window.open(url, 'printable','toolbar=yes,width='+w+',height='+h+',directories=0,status=0,scrollbars=1,resizable=1,menubar=1,location=0,screenX=100,screenY=75,left=100,top=75,copyhistory=0');
}

/**
*Process top right drop down list of states for contractors
*/
function viewStateContractor() {
    ddl = document.getElementById('stateContractor');
    state = ddl.options[ddl.selectedIndex].value;
    if (state != 1)
        location = baseurl + '/contractor-directory/' + state + '.cfm';
}
/*
* Search form
*/
function submitSearch(field){
    //get value of keywords.
	var keywords = $(field).val();  
    //replace blank character at the begin and end of string
    keywords = keywords.replace(/^\s*/, "").replace(/\s*$/, "");
    
    if(keywords == ''){
       alert('Please enter your keywords');
       return false; 
    }
    else{
        return true;
    }
}

/**
*Handle miniform submit
*/
function submitStartRenovation(formId) {
    f = $('#' + formId)[0];
    var zipCode = f.PC.value;
    if (zipCode == '') {
        alert('Please enter your zip code'); 
        return false;
    } 
    else if (!zipCode.match(/^[0-9]{1,5}$/)) {
        alert('Invalid zip code.');
        return false;
    }else {
    	if (f.remodType.value == '') {
    		alert('Please choose a project');
		} else {
			var remodType;
			var OwnHome;
			var BuyTimeframe;

			posturl = baseurl + "home-improvement-info.cfm";

			j=f.BuyTimeframe.length;
			for (i=0; i<j; i++) if(f.BuyTimeframe[i].checked) BuyTimeframe = f.BuyTimeframe[i].value;

			if (f.remodType.tagName != 'SELECT'){
				j=f.remodType.length;
				for (i=0; i<j; i++) if(f.remodType[i].checked) remodType = f.remodType[i].value;    

				var services = "";
				switch(remodType){
					case "kitchen":
					    services = "KITCHEN_REMODELING";
					break;
					case "cabinet":
					    services = "CABINET_REFACING";
					break;
					case "window":
					    services = "WINDOWS";
					break;
				}    
			}else{
				j=f.remodType.options.length;
				services = '';
				for (i=0; i<j; i++){
					if(f.remodType.options[i].selected) services+= f.remodType.options[i].value + "&";
				} 
			}
					                                                                          
			j=f.OwnHome.length;
			for (i=0; i<j; i++) if(f.OwnHome[i].checked) OwnHome = f.OwnHome[i].value;


			createHiddenInput(f, 'BuyTimeframe',BuyTimeframe);
			createHiddenInput(f, 'OwnHome',OwnHome);
			createHiddenInput(f, 'PC', f.PC.value);
			createHiddenInput(f, 'service',services);

			f.action = posturl;
			f.method = 'POST';
			return f.submit();
		}
    }
    return false;

}    

function createHiddenInput(f,name,value){
    var input = document.createElement("input");
    input.setAttribute("type", "hidden");
    input.setAttribute("name", name);
    input.setAttribute("value", value);
    f.appendChild(input);
}

/**
* Allow input number only
*/
function inputNumberOnly(e)
{
    var keynum 
    var keychar
    var numcheck
    
    if (e.keyCode) {  // IE
         keynum = e.keyCode;
     } else if (e.charCode) {
         keynum = e.charCode; 
     } else if (e.which) { // Netscape/Firefox/Opera
         keynum = e.which;
     }
    keychar = String.fromCharCode(keynum); //get character from ASCII
    numcheck = /\d/
    //Backspace: 8
    //Tab: 9
    //Enter: 13
    //End: 35  (also #)
    //Home: 36 (also $)
    //Delete: 46 (also .)
    //Left Arrow: 37 (also %)
    //Right Arrow: 39 (also ')
    if(keynum != 8 && keynum !=9 && keynum!= 13 && keynum!=35 && keynum != 36 && keynum!= 46 && keynum!= 37 && keynum!=39) 
        return numcheck.test(keychar); //find number in keychar
}

/**
* Sitemap collapse/expand effect
*/
$(document).ready(function(){
    $('.CategoryHandler').bind("click",function(e){
        
        var li = $(this).parent();
        li.siblings().each(function(){
            $(this).children("ul").hide();
            $(this).children("span").html('<a href="#" class="CategoryHandler">[+]</a>');
        });
        ul = li.children("ul")
        if (li.children("ul").length == 0){//articles are not fetched, do an ajax fetching
            $.ajax({
                type: "POST",
                url : baseurl + "/site-map/fetchArticles",
                data: "cat=" + li.attr('id'),
                success: function(html){
                    li.append(html);
                    ul = li.children("ul");
                }
            });
        }
        if (ul){
            ul.toggle();
            li.children("span").html('<a href="#" class="CategoryHandler">[-]</a>');
        }
    });
    
    //Hide all subcontent
    $('.CategoryHandler').each(function(i){
        var li = $(this).parent();
        li.children("ul").hide();   
        li.children("span").html('<a href="#" class="CategoryHandler">[+]</a>');
    });
});