// This is the implementation of SimpleSwap
// by Jehiah Czebotar
// Version 1.1 - June 10, 2005
// Distributed under Creative Commons
//
// Include this script on your page
// then make image rollovers simple like:
// <img src="/images/ss_img.gif" oversrc="/images/ss_img_over.gif">
//
// http://jehiah.com/archive/simple-swap
// 

function SimpleSwap(el, which) {
	el.src = el.getAttribute(which || "origsrc");
}

function SimpleSwapSetup() {
	var x = document.getElementsByTagName("img");
	for ( var i = 0; i < x.length; i++) {
		var oversrc = x[i].getAttribute("oversrc");
		if (!oversrc)
			continue;

		// preload image
		// comment the next two lines to disable image pre-loading
		x[i].oversrc_img = new Image();
		x[i].oversrc_img.src = oversrc;
		// set event handlers
		x[i].onmouseover = new Function("SimpleSwap(this,'oversrc');");
		x[i].onmouseout = new Function("SimpleSwap(this);");
		// save original src
		x[i].setAttribute("origsrc", x[i].src);
	}
}

var PreSimpleSwapOnload = (window.onload) ? window.onload : function() {
};
window.onload = function() {
	PreSimpleSwapOnload();
	SimpleSwapSetup();
}

function OpenPopup(url, name, width, height, scrollbars) {
	newwindow = window.open(url, name, 'width=' + width + ',height=' + height
			+ ',location=no,menubar=no,resizable=yes,scrollbars=' + scrollbars
			+ ',status=no,toolbar=no,top=100,left=100');
	newwindow.focus();
} // function OpenWindow

/* form input prefill clear on focus, and reset on blur (if empty) */
function prefillClear(field) {
	if (field.defaultValue == field.value) {
		field.value = '';
	} else if (field.value == '') {
		field.value = field.defaultValue;
	}
}

/* <input type="text" name="input1" value="Enter your data" onfocus="prefillClear(this);" onblur="prefillClear(this);" /> */



String.prototype.downgrade = function() {
	var str = this.replace(/[\u00C0-\u00C5]/g, "A");
	str = str.replace(/\u00C6/g, "AE");
	str = str.replace(/\u00C7/g, "C");
	str = str.replace(/[\u00C8-\u00CB]/g, "E");
	str = str.replace(/[\u00CC-\u00CF]/g, "I");
	str = str.replace(/\u00D0/g, "D");
	str = str.replace(/\u00D1/g, "N");
	str = str.replace(/[\u00D2-\u00D6\u00D8]/g, "O");
	str = str.replace(/[\u00D9-\u00DC]/g, "U");
	str = str.replace(/\u00DD/g, "Y");
	str = str.replace(/\u00DE/g, "TH");
	
	str = str.replace(/\u00DF/g, "ss");
	str = str.replace(/[\u00E0-\u00E5]/g, "a");
	str = str.replace(/\u00E6/g, "ae");
	str = str.replace(/\u00E7/g, "c");
	str = str.replace(/[\u00E8-\u00EB]/g, "e");
	str = str.replace(/[\u00EC-\u00EF]/g, "i");
	str = str.replace(/\u00F0/g, "d");
	str = str.replace(/\u00F1/g, "n");	
	str = str.replace(/[\u00F2-\u00F6\u00F8]/g, "o");
	str = str.replace(/[\u00F9-\u00FC]/g, "u");
	str = str.replace(/[\u00FD\u00FF]/g, "y");
	str = str.replace(/\u00FE/g, "th");
	
	return str;
}



String.prototype.replaceAll = function(pcFrom, pcTo) {
	var i = this.indexOf(pcFrom);
	var c = this;
	while (i > -1) {
		c = c.replace(pcFrom, pcTo);
		i = c.indexOf(pcFrom);
	}
	return c;
}

function doSearch(hiddenLinkId, searchInputId) {
	var link = document.getElementById(hiddenLinkId);
	var textElement = document.getElementById(searchInputId);
	var queryValue = document.getElementById(searchInputId).value;

	if (textElement.defaultValue != queryValue) {
		if (queryValue.length > 0) {
			queryValue =queryValue.downgrade(); 

			link.href = link.href +'query='+ encodeURIComponent(queryValue);
			self.location.href = link.href;
		}
	}
}

function searchOnEnter(event, hiddenLinkId, searchInputId) {
	if (event) {
		if (event.keyCode == 13) {
			doSearch(hiddenLinkId, searchInputId);
			return false;
		}
	}
	return true;
}

/* fires an event for an element, e.g. a  click event for a link */
function fireEvent(element, event){
	if (document.createEventObject){
		// dispatch for IE
		var evt = document.createEventObject();
		return element.fireEvent('on'+event,evt)
	} else {
		// dispatch for firefox + others
		var evt = document.createEvent("HTMLEvents");
		evt.initEvent(event, true, true ); // event type,bubbling,cancelable
		return !element.dispatchEvent(evt);
	}
}

function isTextValueDefaultValue(element) {
	var isDefaultValue = true;
	if (element.defaultValue != element.value) {
		isDefaultValue = false;
	}
	return isDefaultValue;
}
