var IWAO = {};

IWAO.sections =  {
    show: function(section) {
        var sect = document.getElementById(section);
        if(sect) {
            sect.style.display = "block";
        }
    },
    hide: function(section) {
        var sect = document.getElementById(section);
        if(sect) {
            sect.style.display = "none";
        }
    },
    Toggle:function(combo) {
        var index = document.getElementById(combo).selectedIndex;
        var divs = new Array();
        divs[0]= "dvCategory1";
        divs[1]= "dvCategory2";
        divs[2]= "dvCategory3";
        divs[3]= "dvCategory4";
        divs[4]= "dvCategory5";
        divs[5]= "dvCategory6";
        divs[6]= "dvCategory7";
        divs[7]= "dvCategory8";

        var theDiv = null;
		for(var i = 0; i < divs.length; i++)
		{
			theDiv = document.getElementById(divs[i]);
			if(theDiv != null)
			{
		        if ( index === i )
		            theDiv.style.display = "block";
		        else
		            theDiv.style.display = "none";
			}
		
		}
		
		//show the development for categories 1,2,7
		var theTextbox = null;		
	    theTextbox = document.getElementById("divDevelopmentName");
	    if(theTextbox != null)
	    {
	        index = index+1;
	        switch(index)
	        {
	            case 1:
	            case 2:
	            case 7:
	                theTextbox.style.display = "block";
	                break;
	            default:
	                theTextbox.style.display = "none";
	                break;
	        }
	    }
		
    }
};

/**
  * Mortgage Calculator
  * You can change the formula in Formula section
  */
IWAO.MortgageCalculator = {};
IWAO.MortgageCalculator.calculate = function() {
    if(IWAO.MortgageCalculator.fields ) {
        var fields = {
            askingPrice: $(IWAO.MortgageCalculator.fields.askingPrice),
            downPayment: $(IWAO.MortgageCalculator.fields.downPayment),
            interesRate: $(IWAO.MortgageCalculator.fields.interesRate),
            years: $(IWAO.MortgageCalculator.fields.years),
            result: $(IWAO.MortgageCalculator.fields.result),
            calculate: $(IWAO.MortgageCalculator.fields.calculate)
        };
        var values = {
            askingPrice: parseFloat(fields.askingPrice.value,10) || 0,
            downPayment: parseFloat(fields.downPayment.value,10) || 0,
            interesRate: parseFloat(fields.interesRate.value,10) || 0,
            years: parseFloat(fields.years.value,10) || 0
        };
        
        //Formula
        var P = values.askingPrice - values.downPayment;
        var I = values.interesRate;
        var L = values.years;
        var J = I / (12 * 100);
        var N = L * 12;
        
        values.result = P * J / (1 -  Math.pow(1 + J, -N));
        //Display result
        var num = new NumberFormat(values.result).toFormatted();
        fields.result.innerHTML = "$ " + num;
    }
    
    return false;
};

/**
  * Image slide show
  */
IWAO.ImageSlideShow = {};
IWAO.ImageSlideShow.timer = {
    paused: true,
    interval: 3000,
    currentIndex: -1
};
IWAO.ImageSlideShow.init = function() {
    IWAO.ImageSlideShow.mainImage = $(IWAO.ImageSlideShow.fields.bigImage);
    var thumbs = $('imageLiveShowThumbs');
    
    if ( thumbs && thumbs !== null )
    {
        var images = thumbs.getElementsByTagName('img');
        for(var i=0; i < images.length; i++ ) {
            images[i].onclick = IWAO.ImageSlideShow.showBigImage;
            images[i].imageIndex = i;
        }
        if(images.length > 0) {
            IWAO.ImageSlideShow.timer.currentIndex = 0;
            IWAO.ImageSlideShow.mainImage.src = images[0].src;
            IWAO.ImageSlideShow.mainImage.alt = images[0].alt;
            IWAO.ImageSlideShow.mainImage.title = images[0].title;
        }
        IWAO.ImageSlideShow.images = images;
    }
};
IWAO.ImageSlideShow.showBigImage = function() {
    IWAO.ImageSlideShow.mainImage.src = this.src;
    IWAO.ImageSlideShow.mainImage.alt = this.alt;
    IWAO.ImageSlideShow.mainImage.title = this.title;
    IWAO.ImageSlideShow.timer.currentIndex = this.imageIndex;
};
IWAO.ImageSlideShow.play = function() {
    IWAO.ImageSlideShow.timer.paused = false;
    IWAO.ImageSlideShow.changeNext();
};
IWAO.ImageSlideShow.pause = function() {
    IWAO.ImageSlideShow.timer.paused = true;
};
IWAO.ImageSlideShow.changeNext = function() {
    if(!IWAO.ImageSlideShow.timer.paused) {
        IWAO.ImageSlideShow.next();
        setTimeout("IWAO.ImageSlideShow.changeNext()",IWAO.ImageSlideShow.timer.interval);
    }
};
IWAO.ImageSlideShow.back = function() {
    var timer =  IWAO.ImageSlideShow.timer;
    var images = IWAO.ImageSlideShow.images;
    if(timer.currentIndex != -1) {
        timer.currentIndex -= 1;
        if(timer.currentIndex < 0) {
            timer.currentIndex = images.length -1;
        }
        IWAO.ImageSlideShow.images[timer.currentIndex].onclick();
    }
};
IWAO.ImageSlideShow.next = function() {
    var timer =  IWAO.ImageSlideShow.timer;
    var images = IWAO.ImageSlideShow.images;
    if(timer.currentIndex != -1) {
        timer.currentIndex += 1;
        if(timer.currentIndex >= images.length) {
            timer.currentIndex = 0;
        }
        IWAO.ImageSlideShow.images[timer.currentIndex].onclick();
    }
};

/**
  * Google Maps
  * Needs <script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=" type="text/javascript"></script>
  */
IWAO.googlemaps = {};
IWAO.googlemaps.values = {
    containerId: null,
    address: null,
    map: null,
    zoom: 17
};
IWAO.googlemaps.load = function() 
{
  var containerId = IWAO.googlemaps.values.containerId;
  if (GBrowserIsCompatible()) 
  {
    map = new GMap2(document.getElementById(containerId));
    map.setCenter(new GLatLng(34, 0), 1);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    IWAO.googlemaps.values.map = map;
    IWAO.googlemaps.showAddress();
  }
};

IWAO.googlemaps.showAddress = function() {
    var geocoder = new GClientGeocoder();
    var map = IWAO.googlemaps.values.map;
    var address = IWAO.googlemaps.values.address;

      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              IWAO.googlemaps.showError("Google maps error: \n" + address + " not found.");
            } else {
              map.setCenter(point, IWAO.googlemaps.values.zoom); /* It didn't work with the variable. */
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
      
  return false;
};
IWAO.googlemaps.showError = function(error_msg) {
    var lblError = $('googlemap_error');
    lblError.style.display = "block";
    lblError.innerHTML = error_msg;
};


/**
  * Validator based on http://www.mredkj.com/tutorials/validate2.html
  * 
  * Example usage
  * 
  * <input type="text"
  *  onblur="IWAO.validator.extractNumber(this,2,true);"
  *  onkeyup="IWAO.validator.extractNumber(this,2,true);"
  *  onkeypress="return IWAO.validator.blockNonNumbers(this, event, true, true);" />
  * 
  * blockNonNumbers takes the following arguments
  * function blockNonNumbers(obj, e, allowDecimal, allowNegative)
  * 
  * extractNumber takes the following arguments
  * function extractNumber(obj, decimalPlaces, allowNegative)
  *
  */

IWAO.validator = {};
IWAO.validator.extractNumber = function(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
};
IWAO.validator.blockNonNumbers = function(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
};

IWAO.validator.textAreaMaxLengthSlice = function(textarea, maxlength)
{
    var length = textarea.value.length;

    if (length > maxlength)
    {
        textarea.value = textarea.value.slice(0,maxlength);
    }
};

IWAO.validator.textAreaMaxLengthBlock = function(textarea, maxlength)
{
    var length = textarea.value.length;

    if (length > maxlength)
    {
        alert("Text too long. Must be " + maxlength + " characters or less."); 
    }
};

IWAO.validator.ConfrimAction = function(text)
{
    var result = confirm(text);
    return result;
};

IWAO.validator.toggleCheckBoxes =function toggleCheckBoxes(inputID)
{
    var mainCheckBox = document.getElementById(inputID);
    var cntTbl = IWAO.validator.GetContainingTable(mainCheckBox);
    
    if ( cntTbl !== null )
    {
        var checkBoxes = cntTbl.getElementsByTagName("input");
        for (var i = 0; i < checkBoxes.length; i++) 
        { 
            if(checkBoxes[i].type == "checkbox")
            checkBoxes[i].checked = mainCheckBox.checked;
        }
    }
};

IWAO.validator.GetContainingTable = function(chk)
{
    var el = chk;
    var limit = 50;
    var i = 0;
    while( i < limit && el !== null && el.tagName.toLowerCase() !== "table" )
    {
        el = el.parentNode;
        i++;
    }
    
    if ( el.tagName.toLowerCase() === "table" )
        return el;
    
    return null;
};


IWAO.TriState = {};

IWAO.TriState.SwitchToProcessing = function(theAnchor, fnText)
{
    if ( theAnchor && theAnchor !== null && theAnchor.innerHTML !==  "Processing...")
    {
        theAnchor.style.color = "#666666";
        theAnchor.innerHTML = "Processing...";
        eval(fnText);
    }
}

/*
 * Calendar
 */
IWAO.Calendar = {};
IWAO.Calendar.values = {
    anchor: ''
};
IWAO.Calendar.init = function(placeholder) {
    YAHOO.util.Event.onDOMReady(
        function() {
            IWAO.Calendar.values.anchor = document.getElementById(placeholder);
        }
    );
};
IWAO.Calendar.Calendar_OnDateClick = function(calInstance, args)
{
    var theDate = args.RenderDay.Date;
    if ( theDate && theDate !== null )
    {
        var year = theDate[0];
        var month = theDate[1];
        var day = theDate[2];
        
        var anchor = IWAO.Calendar.values.anchor;
        anchor.href = anchor.href + "?year=" + year + "&month=" + month + "&day=" + day;
        if ( anchor.click )
            anchor.click();
        else
            window.location = anchor.href;
    }
    return false;
};

/*
 * Disable Button
 */
IWAO.Buttons = {};
IWAO.Buttons.DisableButton =  function(buttonOriginal, btnEmptyId) 
{
    buttonOriginal.style.width = "0px";
    buttonOriginal.style.height = "0px";
    var btnEmpty = document.getElementById(btnEmptyId)
    btnEmpty.className = '';
};
 
/*
 * Check all
 */
IWAO.checkall = function(el) {
    var chkboxes = el.parentNode.parentNode.getElementsByTagName("input");
    for(var i=0; i<chkboxes.length; i++) {
        if(chkboxes[i].type === "checkbox") {
            chkboxes[i].checked = true;
        }
    }
};

IWAO.uncheckall = function(el) {
    var chkboxes = el.parentNode.parentNode.getElementsByTagName("input");
    for(var i=0; i<chkboxes.length; i++) {
        if(chkboxes[i].type === "checkbox") {
            chkboxes[i].checked = false;
        }
    }
};

IWAO.openPopupWindow = function(width, height, url){
    window.open(url,"_blank","height="+height+", width="+width+", scrollbars=yes, titlebar=no, toolbar=no, status=no, location=no, menubar=no, resizable=yes");
};

/*
	Redirect Enter Key Event and Verify empty values.
*/

IWAO.redirectEnter = function( e )
{
	if( e.keyCode == 13 )
	{
		e.cancelBubble = true;
		if( e.stopPropagation )
		{
			e.stopPropagation();
		}
		
		var target = ( e.target )? e.target: e.srcElement;
		if( target )
		{
			var button = document.getElementById( target.getAttribute( "defaultbutton" ) );
			button.click( );
		}
		
		return false;
	}
	else
	{
		return true;
	}
};

IWAO.areEmpty = function( tags )
{
	for( var i = 0; i < tags.length; i++ )
	{
		if( !IWAO.isEmpty( tags[ i ] ) )
		{
			return false;
		}
	}
	
	return true;
};

IWAO.isEmpty = function( tag )
{
	if( typeof( tag ) == "string" )
	{
		tag = document.getElementById( tag );
	}
	
	if( tag != null && ( tag.value == null || tag.value.length < 1 ) )
	{
		return true;
	}
	
	return false;
};
IWAO.stars = {};
IWAO.stars.values = {
	defaults: null,
    fillUrl: "/Images/FilledStar.png",
    busyUrl: "/Images/SavedStar.png",
    emptyUrl: "/Images/EmptyStar.png"
};
IWAO.stars.hovering = function(el, stari) {
	var stars = el.parentNode.getElementsByTagName("input");
	if(IWAO.stars.values.defaults === null) {
		var defaults = [];
		for(var k=0; k<stars.length; k++) {
			defaults[k] = stars[k].src;
		}
		IWAO.stars.values.defaults = defaults;
	}
	if(stars.length >= stari) {
		for(var i=0; i<stari;i++) {
			stars[i].src = IWAO.stars.values.fillUrl;
		}
		for(var j=stari; j<stars.length; j++) {
			stars[j].src = IWAO.stars.values.emptyUrl;
		}
	}
};
IWAO.stars.hoveringout = function(el) {
	var stars = el.parentNode.getElementsByTagName("input");
	if(IWAO.stars.values.defaults && IWAO.stars.values.defaults !== null) {
		var defaults = IWAO.stars.values.defaults;
		if(defaults.length === stars.length)
		for(var k=0; k<stars.length; k++) {
			stars[k].src = defaults[k];
		}
	}
};
IWAO.stars.click = function(el, stari) {
	var stars = el.parentNode.getElementsByTagName("input");
	IWAO.stars.values.defaults = null;
	if(stars.length >= stari) {
		for(var i=0; i<stari;i++) {
			stars[i].src = IWAO.stars.values.busyUrl;
		}
		for(var j=stari; j<stars.length; j++) {
			stars[j].src = IWAO.stars.values.emptyUrl;
		}
	}
};
IWAO.validation = {};
IWAO.validation.data = {
	cleanpreview: true,
	dotnet: {
		buttons: [],
		anchors: [],
		videos: []
	}
};
IWAO.validation.handlers = {};
IWAO.validation.handlers.AddButtonsHandler = function() {
    var buttons = YAHOO.util.Dom.getElementsByClassName('jValidationsClass'); 
	for(var i=0; i<buttons.length; i++) {
		IWAO.validation.data.dotnet.buttons[i] = buttons[i].onclick;
        buttons[i].onclick = IWAO.validation.validate;
	}
};
IWAO.validation.handlers.AddPreviewHandler = function() {
    var anchors = YAHOO.util.Dom.getElementsByClassName('jPreviewValidationsClass'); 
	for(var i=0; i<anchors.length; i++) {
		IWAO.validation.data.dotnet.anchors[i] = anchors[i].onclick;
        anchors[i].onclick = IWAO.validation.preview_validate;
	}
};
IWAO.validation.handlers.AddVideoHandler = function() {
    var videos = YAHOO.util.Dom.getElementsByClassName('jVideoValidationsClass'); 
	for(var i=0; i<videos.length; i++) {
		IWAO.validation.data.dotnet.buttons[i] = videos[i].onclick;
        videos[i].onclick = IWAO.validation.video_validate;
	}
};
IWAO.validation.validate = function() {
	var flag = true;
	IWAO.validation.clearMessages('jvalidations_summary');
	if(IWAO.validation.data.dotnet.buttons.length > 0 && IWAO.validation.data.dotnet.buttons[0]) {
		IWAO.validation.data.dotnet.buttons[0]();
	}
	
	var zips = YAHOO.util.Dom.getElementsByClassName('zip_validation'); 
	var emails = YAHOO.util.Dom.getElementsByClassName('Email_Validation');
	var phones = YAHOO.util.Dom.getElementsByClassName('phone_validation'); 
	var dirphones = YAHOO.util.Dom.getElementsByClassName('directphone_validation'); 
	var officetels = YAHOO.util.Dom.getElementsByClassName('officephone_validation'); 
	var faxs = YAHOO.util.Dom.getElementsByClassName('fax_validation'); 
	var celphones = YAHOO.util.Dom.getElementsByClassName('celphone_validation'); 
	var dates = YAHOO.util.Dom.getElementsByClassName('year_validation'); 
	var passwords =  YAHOO.util.Dom.getElementsByClassName('Password_Validation'); 
	var expirations = YAHOO.util.Dom.getElementsByClassName('expiration_validation');
	var multimails = YAHOO.util.Dom.getElementsByClassName('multimail_validation');
	var custom = YAHOO.util.Dom.getElementsByClassName('Custom_validation');
	var accountType = YAHOO.util.Dom.getElementsByClassName('AccountType_validation');
	var i = 0;
	
	if(accountType.length > 0){
		if(accountType[0].value === "-- Please select --"){
			IWAO.addli("Please select an Account Type");
			flag = false;
		}
	}
	
	if(custom.length > 0){
		if((custom[0].value === "" && custom[1].value === "*--*" && custom[2].value === "") || 
			(custom[1].value === "*--*" && custom[2].value === "") || 
			(custom[0].value === "" && custom[2].value === "")){
			IWAO.addli("Need at least a valid zip code or city name and state selected.");
			flag = false;
		}
	}
	
	if(zips.length > 0) {
		for(var i = 0; i < zips.length; i++) {
			if(zips[i].value && !IWAO.validations.zip.zcheck(zips[i])) {
				IWAO.addli("Zip Invalid.");
				flag = false;
			}
		}
	}
	if(emails.length > 0) {
		for(var i = 0; i < emails.length; i++) {
			if(emails[i].value && !IWAO.validations.email.echeck(emails[i].value)) {
				IWAO.addli("Email Invalid.");
				flag = false;
			}
		}
	}
	var validate_phones = function(arr, msg) {
		if(arr.length > 0) {
			for(var i = 0; i < arr.length; i++) {
				if(arr[i].value && !IWAO.validations.phone.pcheck(arr[i])) {
					IWAO.addli(msg);
					flag = false;
				}
			}
		}
	}
	validate_phones(phones, "Invalid phone.");
	validate_phones(dirphones, "Invalid direct phone.");
	validate_phones(officetels, "Invalid office phone.");
	validate_phones(faxs, "Invalid fax number.");
	validate_phones(celphones, "Invalid cellphone.");
	
	if(passwords.length > 0) {
		for(var i = 0; i < passwords.length; i++) {
			if(passwords[i].value && !IWAO.validations.password.check(passwords[i].value)) {
				IWAO.addli("Invalid Password.");
				flag = false;
			}
		}
	}
	
	if(dates.length > 0) {
		for(var i = 0; i < dates.length; i++) {
			if(dates[i].value && !IWAO.validations.year.ycheck(dates[i])) {
				IWAO.addli("Year Built invalid.");
				flag = false;
			}
		}
	}
	
	if(multimails.length > 0) {
		for(var i = 0; i < multimails.length; i++) {
			if(multimails[i].value && !IWAO.validations.multimail.check(multimails[i])) {
				IWAO.addli("Email is incorrect.");
				flag = false;
			}
		}
	}
	
	if(expirations.length > 0) {
		for(var i = 0; i < expirations.length; i++) {
			if(expirations[i].value && !IWAO.validations.expdate.check(expirations[i])) {
				IWAO.addli("Expiration Date invalid.");
				flag = false;
			}
		}
	}
	
	IWAO.validation.data.cleanpreview = false;
	var preview = IWAO.validation.preview_validate();
	var vdo = IWAO.validation.video_validate();
	IWAO.validation.data.cleanpreview = true;
	
	return flag && Page_IsValid && preview && vdo;	
};

IWAO.validation.preview_validate = function() {
	var flag = true;
	if(IWAO.validation.data.cleanpreview) {
		IWAO.validation.clearMessages('jvalidations_summary_image');
	}
	
	if(IWAO.validation.data.dotnet.anchors.length > 0 && IWAO.validation.data.dotnet.anchors[0]) {
		IWAO.validation.data.dotnet.anchors[0]();
	}
	
	var imgs = YAHOO.util.Dom.getElementsByClassName('validation_extension'); 
	
	if(imgs.length > 0) {
		for(var i = 0; i < imgs.length; i++) {
			if(imgs[i].value && !IWAO.validations.extension.xcheck(imgs[i])) {
				IWAO.addimageli("Invalid image extension (jpg or gif only).");
				flag = false;
			}
		}
	}
	return flag;
};
IWAO.validation.video_validate = function() {
	var flag = true;
	if(IWAO.validation.data.cleanpreview) {
	IWAO.validation.clearMessages('jvalidations_summary_image');
	}
	if(IWAO.validation.data.dotnet.videos.length > 0 && IWAO.validation.data.dotnet.videos[0]) {
		IWAO.validation.data.dotnet.videos[0]();
	}
	
	var videos = YAHOO.util.Dom.getElementsByClassName('video_validation'); 
	
	if(videos.length > 0) {
		for(var i = 0; i < videos.length; i++) {
			if(videos[i].value && !IWAO.validations.video.vcheck(videos[i])) {
				IWAO.addli("Video format invalid");
				flag = false;
			}
		}
	}
	return flag;
};

IWAO.validation.clearMessages = function(container){
var elements = YAHOO.util.Dom.getElementsByClassName(container, 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
	var el = elements[1] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
};


IWAO.validations = {};
IWAO.validations.email = {};
IWAO.validations.password = {};
IWAO.validations.personalinfo = {};
IWAO.validations.profileinfo = {};
IWAO.validations.zip = {};
IWAO.validations.registrationcompany = {};
IWAO.validations.propertyinformation = {};
IWAO.validations.personalinfo.values = {
    correct : true
};

IWAO.addli = function(str)
{
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
	for(var i=0; i < elements.length; i++) {
	    var el = elements[i] || document.createElement('div');
	    var ul = el.getElementsByTagName('ul')[0];
	
	    if(!ul) {
	        ul = document.createElement('ul');
	        el.appendChild(ul);
	    }
	
	        IWAO.validations.linode = document.createElement('li');
	        IWAO.validations.linode.innerHTML = str;
	
	    ul.appendChild(IWAO.validations.linode);
	    el.style.display = "block";  
	}
};
IWAO.addimageli = function(str)
{
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary_image', 'div'); 
	for(var i=0; i < elements.length; i++) {
	    var el = elements[i] || document.createElement('div');
	    var ul = el.getElementsByTagName('ul')[0];
	
	    if(!ul) {
	        ul = document.createElement('ul');
	        el.appendChild(ul);
	    }
	
	        IWAO.validations.linode = document.createElement('li');
	        IWAO.validations.linode.innerHTML = str;
	
	    ul.appendChild(IWAO.validations.linode);
	    el.style.display = "block";  
	}
};
IWAO.validations.sellerlistphotos = {};

IWAO.validations.sellerlistphotos.AddHandler = function(){
    var elements = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'input');
    IWAO.validations.dotnetmethod = elements[0].onclick;
    elements[0].onclick = IWAO.validations.sellerlistphotos.validate;
    elements[1].onclick = IWAO.validations.sellerlistphotos.validate;    
};

IWAO.validations.sellerlistphotos.validate = function(){

    return false;
}

IWAO.validations.propertyinformation.AddHandler = function(){
    var elements = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'input');
    IWAO.validations.dotnetmethod = elements[0].onclick;
    elements[0].onclick = IWAO.validations.propertyinformation.validate;
    elements[1].onclick = IWAO.validations.propertyinformation.validate;
};

IWAO.validations.propertyinformation.validate = function(){
    var counter = 0;
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
	var el = elements[1] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    if(IWAO.validations.dotnetmethod){
        IWAO.validations.dotnetmethod();
    }
    var zip = document.getElementsByClassName('zip_validation');  
    var zipID = zip[0];
    if(zipID.value != ""){
        if(!IWAO.validations.zip.zcheck(zipID))
        {
            IWAO.addli("Invalid Zip Code.", 0);
            IWAO.addli("Invalid Zip Code.", 1);
            counter = 1;
        }
    }
    var yearID = document.getElementsByClassName('year_validation')[0];  
    if(yearID.value != ""){
        if(!IWAO.validations.year.ycheck(yearID)){
            IWAO.addli("Invalid year built",0);
            IWAO.addli("Invalid year built",1);
            counter = 1 
        }
    }
    
    if(counter != 1 && Page_IsValid){
        return true;
    }
    return false;
};

IWAO.validations.registrationcompany.AddHandler = function(){
    var elements = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'input');
    IWAO.validations.dotnetmethod = elements[0].onclick;
    elements[0].onclick = IWAO.validations.registrationcompany.validate;
    elements[1].onclick = IWAO.validations.registrationcompany.validate;
    var elements1 = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'a');
    IWAO.validations.dotnetmethod1 = elements1[0].onclick;
    elements1[0].onclick = IWAO.validations.registrationcompany.validateimage;
    elements1[1].onclick = IWAO.validations.registrationcompany.validateimage;

};

IWAO.validations.registrationcompany.validateimage = function(){
    var counter = 0;
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary_image', 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
	var el = elements[1] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    if(IWAO.validations.dotnetmethod1){
        IWAO.validations.dotnetmethod1();
    }
    
    var file = YAHOO.util.Dom.getElementsByClassName('validation_extension', 'input');
    if(file[0].value != ""){
        if(!IWAO.validations.extension.xcheck(file[0])){
            IWAO.addimageli('Profile Image Extension not valid.',0);
            IWAO.addimageli('Profile Image Extension not valid.',1);
            counter = 1;
        }
    }
    if(file[1].value != ""){
        if(!IWAO.validations.extension.xcheck(file[1])){
            IWAO.addimageli('Company Image Extension not valid.',0);
            IWAO.addimageli('Company Image Extension not valid.',1);
            counter = 1;
        }
    }
    
    if(counter != 1){
        return true;
    }
    return false;
    
    
};


IWAO.validations.registrationcompany.validate = function()
{
    var counter = 0;
    
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
	var el = elements[1] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    if(IWAO.validations.dotnetmethod){
        IWAO.validations.dotnetmethod();
    }
    var zip = document.getElementsByClassName('zip_validation');  
    var zipID = zip[0];
    if(zipID.value != ""){
            if(!IWAO.validations.zip.zcheck(zipID))
            {
                IWAO.addli("Invalid Zip Code.", 0);
                IWAO.addli("Invalid Zip Code.", 1);
	            counter = 1;
            }
    }
    
    var phone = document.getElementsByClassName('officephone_validation');
    if(phone[0].value != ""){
        if(!IWAO.validations.phone.pcheck(phone[0]))
        {
            IWAO.addli("Invalid Telephone Number.",0);   
            IWAO.addli("Invalid Telephone Number.",1);
            counter = 1;
        }
    }
    var celphone = document.getElementsByClassName('fax_validation');
        if(celphone[0].value != ""){
        if(!IWAO.validations.phone.pcheck(celphone[0]))
        {
            IWAO.addli("Invalid Fax Number.",0);   
            IWAO.addli("Invalid Fax Number.",1);
                
            counter = 1;
        }
    }
    var directphone = document.getElementsByClassName('directphone_validation');
    if(directphone[0].value != ""){
        if(!IWAO.validations.phone.pcheck(directphone[0]))
        {
            IWAO.addli("Invalid Direct Telephone Number.",0);   
            IWAO.addli("Invalid Direct Telephone Number.",1);
                
            counter = 1;
        }
    }    
    
    if(counter != 1){
    return true;
    }
    return false;
};

IWAO.validations.profileinfo.AddHandler = function() {
    var elements = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'input');
    IWAO.validations.dotnetmethod = elements[0].onclick;
    elements[0].onclick = IWAO.validations.profileinfo.validate;
    elements[1].onclick = IWAO.validations.profileinfo.validate;
    var elements1 = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'a');
    elements1[0].onclick = IWAO.validations.profileinfo.validate;
};

IWAO.validations.profileinfo.validate = function() {
    var counter = 0;
    var zip = document.getElementsByClassName('zip_validation');  
    var zipID = zip[0];
    
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
	var el = elements[1] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
    
    IWAO.validations.dotnetmethod();
    var file = YAHOO.util.Dom.getElementsByClassName('validation_extension', 'input')[0];
    if(file.value != ""){
        if(!IWAO.validations.extension.xcheck(file)){
            var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		    var el = elements[0] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linode) {
                IWAO.validations.linode = document.createElement('li');
                IWAO.validations.linode.innerHTML = "The image must be in .jpg or .gif format.";
            }
            ul.appendChild(IWAO.validations.linode);
            el.style.display = "block";       
            
            var el = elements[1] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linode2) {
                IWAO.validations.linode2 = document.createElement('li');
                IWAO.validations.linode2.innerHTML = "The image must be in .jpg or .gif format.";
            }
            ul.appendChild(IWAO.validations.linode2);
            el.style.display = "block";
            
            counter = 1;
        }
     }    
        var zipID = document.getElementsByClassName('zip_validation')[0]; 
        if(zipID.value != ""){
            if(!IWAO.validations.zip.zcheck(zipID))
            {
        	        var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		            var el = elements[0] || document.createElement('div');
		            var ul = el.getElementsByTagName('ul')[0];
                    
                    if(!ul) {
		            ul = document.createElement('ul');
		            el.appendChild(ul);
		       }
                if(!IWAO.validations.linode3) {
                    IWAO.validations.linode3 = document.createElement('li');
                    IWAO.validations.linode3.innerHTML = "Invalid Zip Code.";
                }
                ul.appendChild(IWAO.validations.linode3);
                el.style.display = "block";       
                
                var el = elements[1] || document.createElement('div');
		        var ul = el.getElementsByTagName('ul')[0];

                if(!ul) {
		            ul = document.createElement('ul');
		            el.appendChild(ul);
		        }
                if(!IWAO.validations.linode4) {
                    IWAO.validations.linode4 = document.createElement('li');
                    IWAO.validations.linode4.innerHTML = "Invalid Zip Code.";
                }
                    ul.appendChild(IWAO.validations.linode4);
                    el.style.display = "block";

		            counter = 1;
            }
        }
    
	if (counter !== 1 && Page_IsValid)
	{
	    return true;
	}
	    return false;
    
};

IWAO.validations.personalinfo.AddHandler = function() {
    var elements = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'input');
     var elements1 = YAHOO.util.Dom.getElementsByClassName('jValidationsClass', 'a');
    IWAO.validations.dotnetmethod = elements[0].onclick;
    elements[0].onclick = IWAO.validations.personalinfo.validate;
    elements[1].onclick = IWAO.validations.personalinfo.validate;
    elements1[0].onclick = IWAO.validations.personalinfo.validate;
};


IWAO.validations.personalinfo.validate = function() {
    var counter = 0;
    var zip = document.getElementsByClassName('zip_validation');  
    var zipID = zip[0];
    
    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
	var el = elements[0] || document.createElement('div');
	var ul = el.getElementsByTagName('ul')[0];
	
	
    if(ul){
        var i = 0;
        var ln = ul.childNodes.length;
        for(i ; i < ln ; i++)
        {
            ul.removeChild(ul.childNodes[0]);
        }
    }
    
    IWAO.validations.dotnetmethod();
    if(zipID.value != ""){
        if(!IWAO.validations.zip.zcheck(zipID))
        {
        	    var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		        var el = elements[0] || document.createElement('div');
		        var ul = el.getElementsByTagName('ul')[0];
                
                if(!ul) {
		            ul = document.createElement('ul');
		            el.appendChild(ul);
		        }
                if(!IWAO.validations.linode) {
                    IWAO.validations.linode = document.createElement('li');
                    IWAO.validations.linode.innerHTML = "Invalid Zip Code.";
                   
                }
                ul.appendChild(IWAO.validations.linode);
                el.style.display = "block";

		        counter = 1;
        }
        
    }
    var phone = document.getElementsByClassName('phone_validation');
    if(phone[0].value != ""){
        if(!IWAO.validations.phone.pcheck(phone[0]))
        {
            var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		    var el = elements[0] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linode2) {
                IWAO.validations.linode2 = document.createElement('li');
                IWAO.validations.linode2.innerHTML = "Invalid Telephone Number.";
            }
            ul.appendChild(IWAO.validations.linode2);
            el.style.display = "block";        
            counter = 1;
        }
    }
    
    var celphone = document.getElementsByClassName('celphone_validation');
    if(celphone[0].value != ""){
        if(!IWAO.validations.phone.pcheck(celphone[0])){
            var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		    var el = elements[0] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linod3) {
                IWAO.validations.linode3 = document.createElement('li');
                IWAO.validations.linode3.innerHTML = "Invalid Celphone Number.";
            }
            ul.appendChild(IWAO.validations.linode3);
            el.style.display = "block";        
            counter = 1;
        }
    }
    
    var fax = document.getElementsByClassName('fax_validation');
    if(fax[0].value != ""){
        if(!IWAO.validations.phone.pcheck(fax[0])){
            var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		    var el = elements[0] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linod2e) {
                IWAO.validations.linode2 = document.createElement('li');
                IWAO.validations.linode2.innerHTML = "Invalid Fax Number.";
            }
            ul.appendChild(IWAO.validations.linode2);
            el.style.display = "block";        
            counter = 1;
        }
    }
    
    var file = YAHOO.util.Dom.getElementsByClassName('validation_extension', 'input')[0];
    if(file.value != ""){
        if(!IWAO.validations.extension.xcheck(file)){
            var elements = YAHOO.util.Dom.getElementsByClassName('jvalidations_summary', 'div'); 
		    var el = elements[0] || document.createElement('div');
		    var ul = el.getElementsByTagName('ul')[0];

            if(!ul) {
		        ul = document.createElement('ul');
		        el.appendChild(ul);
		    }
            if(!IWAO.validations.linod2e) {
                IWAO.validations.linode2 = document.createElement('li');
                IWAO.validations.linode2.innerHTML = "The image must be in .jpg or .gif format.";
            }
            ul.appendChild(IWAO.validations.linode2);
            el.style.display = "block";        
            counter = 1;
        }
    }
	if (counter !== 1 && Page_IsValid)
	{
	    return true;
	}
	    return false;
};


IWAO.validations.dotnetmethod;
IWAO.validations.email.AddHandler = function() {
        var elements = YAHOO.util.Dom.getElementsByClassName('register_button', 'input'); 
        IWAO.validations.dotnetmethod = elements[0].onclick;
        elements[0].onclick = IWAO.validations.email.ValidateRegistrationForm;
    };
    
IWAO.validations.email.ValidateRegistrationForm = function(){
	    var email=document.getElementsByClassName('Email_Validation');
    	var emailID = email[0]
    	var counter = 0;
    	
	    var dotnetpass = IWAO.validations.dotnetmethod();
	    if(emailID.value != ""){
	        if (IWAO.validations.email.echeck(emailID.value)==false){
		        var elements = YAHOO.util.Dom.getElementsByClassName('validationSummary', 'div'); 
		        var el = elements[0] || document.createElement('div');
		        var ul = el.getElementsByTagName('ul')[0];
		        if(!ul) {
		            ul = document.createElement('ul');
		            el.appendChild(ul);
		        }
                if(!IWAO.validations.linode) {
                    IWAO.validations.linode = document.createElement('li');
                    IWAO.validations.linode.innerHTML = "Email not valid.";
                }
                ul.appendChild(IWAO.validations.linode);
                el.style.display = "block";
		        counter = 1;
	        }
	    }
	    var password=document.getElementsByClassName('Password_Validation');
    	var passwordID = password[0]
    	if(passwordID.value != ""){
	        if(!IWAO.validations.password.check(passwordID.value))
	        {
	            var elements = YAHOO.util.Dom.getElementsByClassName('validationSummary', 'div'); 
		        var el = elements[0] || document.createElement('div');
		        var ul = el.getElementsByTagName('ul')[0];
		        if(!ul) {
		            ul = document.createElement('ul');
		            el.appendChild(ul);
		        }

                if(!IWAO.validations.linode2) {
                    IWAO.validations.linode2 = document.createElement('li');
                    IWAO.validations.linode2.innerHTML = "Password Format Invalid.";
                }
                ul.appendChild(IWAO.validations.linode2);
                el.style.display = "block";
		        counter = 1;
	        }
	    }
	    
	    if (counter !== 1 && Page_IsValid)
	    {
	        return true;
	        
	    }
	    return false;
     };

IWAO.validations.password.check = function(str){
    var len = str.length;
	if (len >= 5 && len <= 15)
    {
		return true;
    }
    
    return false;
};

IWAO.validations.email.echeck = function (str) {

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1){
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false;
		 }

 		 return true;				
	};
IWAO.validations.extension = {};
IWAO.validations.extension.xcheck = function(val)
{
    var extEx = /^.+\.(([jJ][pP][eE]?[gG])|([gG][iI][fF]))$/;
        if(val.value.match(extEx)==null)
    {
        return false;
    }
    return true;
};

IWAO.validations.zip.zcheck = function(val)
{
    var zipEx =/^\d{5}$/;
    if(val.value.match(zipEx)==null)
    {
        return false;
    }
    return true;
};
IWAO.validations.year ={};
IWAO.validations.year.ycheck = function(val)
{
    var zipEx =/^\d{4}$/;
    if(val.value.match(zipEx)==null)
    {
        return false;
    }
    return true;
};

IWAO.validations.expdate = {};
IWAO.validations.expdate.check = function(val){
	var expirationEx =/^((0[1-9])|(1[0-2]))\/(\d{2})$/;
	if(val.value.match(expirationEx)==null){
		return false;
	}
	return true;
};


IWAO.validations.video ={};
IWAO.validations.video.vcheck = function(val)
{
    var zipEx =/^(<[oO][bB][jJ][eE][cC][tT][^>]>*)(.*?)(<\/[oO][bB][jJ][eE][cC][tT]>)$/;
    if(val.value.match(zipEx)==null)
    {
        return false;
    }
    return true;
};

IWAO.validations.multimail ={};
IWAO.validations.multimail.check = function(val)
{
    var multiEx =/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(,[ ]*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*){0,4}$/;
    if(val.value.match(multiEx)==null)
    {
        return false;
    }
    return true;
};

IWAO.validations.phone ={};
IWAO.validations.phone.pcheck =  function(val)
{
    var phoneEx=/^\d{3}-\d{3}-\d{4}$/;
    if(val.value.match(phoneEx)==null)
    {
        return false;
    }
    return true;
};

IWAO.search = {};

IWAO.search.show = function(option) {
	//searchOptions
	var searchHomes = document.getElementById('searchHomes');
	var searchCommunities = document.getElementById('searchCommunities');
	var searchServices = document.getElementById('searchServices');
	
	var divHomes = searchHomes.parentNode;
	var divCommunities = searchCommunities.parentNode;
	var divServices = searchServices.parentNode;
	
	searchHomes.style.display = "none";
	searchCommunities.style.display = "none";
	searchServices.style.display = "none";
	switch(option) {
		case '0': searchHomes.style.display = "";
		          divHomes.style.display = "";  
		          break;
		case '1': searchCommunities.style.display = "";
		          divCommunities.style.display = "";
		          break;
		case '2': searchServices.style.display = "";
		          divServices.style.display = "";
		          break;
	}
};

IWAO.Util = {}

IWAO.Util.EnableControls = function(containerId, tag, enable) {

	var container = document.getElementById(containerId);
	
	var elements = container.getElementsByTagName(tag);
	
	for (var i = 0; i < elements.length; i++)
	{
		elements[i].disabled = !enable;
		
		if (elements[i].Validators != null)
		{
			elements[i].Validators[0].minimumvalue = enable ? elements[i].options[1].value : elements[i].options[0].value;
		}
		
		if (elements[i].selectedIndex != null)
		{
			elements[i].selectedIndex = 0;
		}		 
	}

	var spans = container.getElementsByTagName('span');
	
	for (var i = 0; i < spans.length; i++)
	{
		if (enable)
		{
			spans[i].style.display="";
		}
		else
		{
			spans[i].style.display="none";
		}
	}
}

IWAO.validation.member_type = {}

IWAO.validation.member_type.validate = function()
{
	
}

IWAO.Util.reSize = function()
{
	try
	{	
		var oFrame = document.getElementsByName("ifrm")[0];
		
		oFrame.style.height = window.frames[0].document.body.offsetHeight + 30;
		
		if (oFrame.style.height == "")
		{
			oFrame.style.height =  window.frames[0].document.body.offsetHeight + 30 + "px";
		}
	}
	//An error is raised if the IFrame domain != its container's domain
	catch(e)
	{
		oFrame = document.getElementsByName("ifrm")[0];
		
		oFrame.style.height =  window.frames[1].document.body.offsetHeight + 30;
				
		if (oFrame.style.height == "")
		{
			oFrame.style.height = window.frames[1].document.body.offsetHeight + 30 + "px";
			
			if (oFrame.style.height == "30px")
			{
				oFrame.style.height = "1030px";
			}
		}
	}
}

IWAO.validation.RSS_Feed = {}

IWAO.validation.RSS_Feed.validate_node = function( sender, args )
{
	var nodes = document.getElementsByClassName('node');
	if (nodes.length)
	{
		var regExp = '^<[A-Za-z0-9]+?></[A-Za-z0-9]+?>$';
		var nodeValue = nodes[0].value;
		if (nodeValue.match(regExp))
		{
			args.IsValid = true;
		}
		else
		{
			args.IsValid = false;
		}
	}	
}

IWAO.validation.SearchBar = {}

IWAO.validation.SearchBar.validate = function()
{
	var searchbar = YAHOO.util.Dom.getElementsByClassName('SearchBar_validation');

	if(searchbar.length > 0){
		if((searchbar[0].value === "" && searchbar[1].value === "Select a State" && searchbar[2].value === "") || 
			(searchbar[1].value === "Select a State" && searchbar[2].value === "") || 
			(searchbar[0].value === "" && searchbar[2].value === "")){
			
			var searchBarValidationSummary = document.getElementById('searchBarValidationSummary');
			searchBarValidationSummary.style.display = "block"
			searchBarValidationSummary.innerHTML = "<br /> Need at least a valid zip code or city name and state selected. <br />";
			
			return false;
		}
	}
	
	return true;
}