/**
 *	Mitsubishi Dealers
 *	-------------------------
 */

window.onload = function() {
	jsLocalsOnload();
	initNavigation();
}

function initNavigation() {
	if(!document.getElementsByTagName) return;
	function setHoverEvent(li, ul) {
		var css = ul.style;
		li.onmouseover = function() { css.visibility = 'visible'; }
		li.onmouseout = function() { css.visibility = 'hidden';	}

	/*	if((li.offsetLeft + ul.offsetWidth) > li.parentNode.offsetWidth) {
			css.left = 'auto';
			css.right = '0px';
		}
	*/
	}

	var el, li, uls = document.getElementsByTagName('ul');
	for(var i=0; i<uls.length; i++) {
		el = uls[i].parentNode;
		if(el.nodeName == 'LI') {
			setHoverEvent(el, uls[i]);
		}
	}
}

function toggleMailToFriend() {
	var friend = getElement('mailToFriend').style;
	friend.visibility = (friend.visibility == 'visible')? 'hidden':'visible'
}
	function sendToFriend() {
		var frm = getElement('frmMailToFriend');

		if(!check(frm.senderName.value, frm.receiverName.value, CHECK_ALFANUM)) {
			alert(Locals.FRIEND_NAME_ERROR);
			return;
		}
		
		if(!check(frm.senderMail.value, frm.receiverMail.value, CHECK_EMAIL)) {
			alert(Locals.FRIEND_MAIL_ERROR);
			return;
		}

		frm.submit();
	}

function doSearch() {
	var frm = getElement('frmSearch');
	if(!check(frm.search.value, CHECK_ALFANUM)) {
		alert(Locals.SEARCH_ERROR);
		return;
	}	

	frm.submit();
}

/**
 *	Popups
 *	-------------------------
 */

function popupImage(path) {
	window.open('/imageviewer.jsp?image=' + path, 
		'imageViewer', 'width=320,height=240,left=100,top=100');
}

function openCentered(url, width, height) {
	var left = (screen.width - parseInt(width))/2;
	var top = (screen.height - parseInt(height))/2;
	var settings = 'left='+left+',top='+top+',width='+width+',height='+height+'';
	window.open(url, '', settings);
}



/**
 *	Check function
 *	-------------------------
 *	boolean check(inputvalue, inputvalue ..., type[see below])
 */

var CHECK_DATE = "^[0-9]{2}/[0-9]{2}/[0-9]{4}$",
	CHECK_EMAIL = "^[0-9a-zA-Z._-]*[@][0-9a-zA-Z._-]*[.][a-z]{2,4}$",
	CHECK_AMOUNT = "^[-]?[0-9]+$",
	CHECK_NUMBER = "^[-]?[0-9,.]+$",
	CHECK_ALFANUM = "^[0-9a-zA-Z ,.-_\\s\?\!]+$",
	CHECK_ANYTHING = ".*",
	CHECK_WORDS = "^[^0-9^!-@^\\[-`^{-}]+$",
	CHECK_ZIP = "^[1-9][0-9]{3}[ ]?[a-zA-Z]{2}$",
	CHECK_PLATE = "^([0-9a-zA-Z]{2}[-]){2}[0-9a-zA-Z]{2}$",
	CHECK_PRICE = "^[0-9.,]*(([.,][-])|([.,][0-9]{2}))?$";

function check() {
	var type = arguments[arguments.length - 1];
	for(var i=0; i<arguments.length-1; i++) {		
		if(!(new RegExp(type)).exec(arguments[i])) return false;
	}	return true;
}

/**
 *	Helpers
 *	-------------------------
 */

function getElement(id) { 
	return document.getElementById(id); 
}

function getElements(tag) { 
	return document.getElementsByTagName(tag); 
}

/**
 *	Model color chooser
 *	-------------------------
 */

function setModelColor(color) {
	var img = document.getElementById('modelColor');
	img.src = color;
}
	function setColorLabel(link) {
		var title = link.title;
		var span = document.getElementById('colorTitle');
		span.innerHTML = title;
	}



function popupDisclaimer() {
	var w = (screen.width - 340)/2;
	var h = (screen.height - 440)/2;
	window.open('/disclaimer.jsp', '', 'left='+w+', top='+h+', width=340, height=440,scrollbars=auto')	
}


