//jQuery.noConflict();
jQuery(document).ready(function($) {
	var $flshMsg = $("#flashMessage");
	var $scrollContainer = $('#ScrollContainer',$flshMsg);
	$flshMsg.jqm({toTop: true});
	$flshMsg.jqmShow();
	if ( $flshMsg && $scrollContainer.innerHeight() > 400) {
		$scrollContainer.css("height","450px");
		jQuery($scrollContainer.parent()).css("height","500px");
		$scrollContainer.addClass('jScrollContainer' );
		$("html,body").scrollTop(0);
	}
	Rounded('div.roundedRectLight','#FFF','#dfcfe0');
	Rounded('div.roundedRectInner','#dfcfe0','#F8E6F9',3);
	Rounded('div.displayBox','transparent','#F8E6F9',3);
	Rounded('div.displayBoxBorder','transparent','#671C6B',3);
	RoundedImg('div.docklet','dockletInner','dockletInner');
	window.$=window.jQuery;
}); 

//var Tabs = new Array('myProfile', 'myHorses', 'myInventory', 'myStats', 'myFriends', 'myGuests', 'editProfile');
var menuPlay = new Array('stable', 'meadow', 'ride');

// tab switcher
function doTab(requester) {
	$("ul#TabMenu li").removeClass('selected');
	$("#"+requester+"Link").addClass('selected');
	$(".AccountPanel").hide();
	$("#"+requester+"Panel").show();		
}

// Pannel switcher
function switchPanel(panelA,panelB){
    $("#"+panelB).show();
    $("#"+panelA).hide();
}

// test if obj is in the array
Array.prototype.in_array = function ( obj ) {
	if ( obj == '' || obj == undefined ) return false;
	for ( var x = 0, len = this.length ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

// Calcule le nombre de jours dans le mois de la date
Date.prototype.monthDays=function(){
	var d=new Date(this.getFullYear(),this.getMonth(),32);
	return 32- d.getDate();
}

// Fonction permettant de positionner un DIV à une position occupée par une ancre
function setToAnchor(ID_Anchor,Name_Anchor,ID_Div) {
	// Position du Div par rapport au côté gauche de la page
	var DivLeft = 0;
	// Position du Div par rapport au haut de la page
	var DivTop = 0;
	if (dom) {
		pos = document.getElementById(ID_Anchor);
		DivLeft = getLeft(pos);
		DivTop = getTop(pos);
		document.getElementById(ID_Div).style.left = DivLeft;
		document.getElementById(ID_Div).style.top = DivTop;
	}
}

// Fonction permettant de connaître la position d'un objet
// par rapport au bord gauche de la page.
// Cet objet peut être à l'intérieur d'un autre objet.
function getLeft(MyObject) {
	if (MyObject.offsetParent) {
		return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
	}
	else {
		return (MyObject.offsetLeft);
	}
}

// Fonction permettant de connaître la position d'un objet
// par rapport au bord haut de la page.
// Cet objet peut être à l'intérieur d'un autre objet.
function getTop(MyObject) {
	if (MyObject.offsetParent) {
		return (MyObject.offsetTop + getTop(MyObject.offsetParent));
	}
	else {
		return (MyObject.offsetTop);
	}
}

// When a text field exceed its max-length go to next field (nextId)
function onCompletionGetTo(elmnt, nextId, event) {
	if ( elmnt == null ) {
		return false;
	}
	// if key is tab or shift tab : proceed (tab=keycode 9)
	if ( event.keyCode == 9 || event.keyCode == 16 ) {
		return false;
	}
	// if got the correct number of car goto next
	if ( elmnt.value.length == elmnt.maxLength) {
		document.getElementById(nextId).focus();
	}
	return true;
}

// Nifty corners
function NiftyCheck() {
	if(!document.getElementById || !document.createElement)
		return(false);
	
	var b=navigator.userAgent.toLowerCase();
	if ( b.indexOf("msie 5") > 0 && b.indexOf("opera") == -1 )
		return(false);

	return(true);
}

function Rounded(selector,bk,color,size) {
	var i;
	var v=getElementsBySelector(selector);
	var l=v.length;
	for(i=0;i<l;i++) {
		if (v[i]==null) continue;
		AddTop(v[i],bk,color,size);
		AddBottom(v[i],bk,color,size);
	}
}

function RoundedTop(selector,bk,color,size) {
	var i;
	var v=getElementsBySelector(selector);
	for(i=0;i<v.length;i++)
		if (v[i]==null) continue;
		AddTop(v[i],bk,color,size);
}

function RoundedBottom(selector,bk,color,size) {
	var i;
	var v=getElementsBySelector(selector);
	for(i=0;i<v.length;i++)
		if (v[i]==null) continue;
		AddBottom(v[i],bk,color,size);
}

function AddTop(el,bk,color,size) {
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if ( size && size == "small" ) {
		cn = "rs"; 
		lim = 2
	}
	d.className="rtop";
	d.style.backgroundColor=bk;
	for(i=1;i<=lim;i++) {
		var x=document.createElement("b");
		x.className=cn + i;
		x.style.backgroundColor=color;
		d.appendChild(x);
	}
	el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,size) {
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if ( size && size == "small" ) {
		cn = "rs";
		lim = 2;
	}
	d.className="rbottom";
	d.style.backgroundColor=bk;
	for(i=lim; i>0; i--) {
		var x=document.createElement("b");
		x.className=cn + i;
		x.style.backgroundColor=color;
		d.appendChild(x);
	}
	el.appendChild(d,el.firstChild);
}

function RoundedImg(selector,bkClass,colorClass,size) {
	var i;
	var v=getElementsBySelector(selector);
	var l=v.length;
	for(i=0;i<l;i++) {
		if (v[i]==null) continue;
		AddTopImg(v[i],bkClass,colorClass,size);
		AddBottomImg(v[i],bkClass,colorClass,size);
	}
}

function AddTopImg(el,bk,color,size) {
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if ( size && size == "small" ) {
		cn = "rs"; 
		lim = 2
	}
	d.className="rtop";
	for(i=1;i<=lim;i++) {
		var x=document.createElement("b");
		x.className=cn + i;
		x.className = x.className + " " + color;
		d.appendChild(x);
	}
	el.insertBefore(d,el.firstChild);
}

function AddBottomImg(el,bk,color,size) {
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if ( size && size == "small" ) {
		cn = "rs";
		lim = 2;
	}
	d.className="rbottom";
	for(i=lim; i>0; i--) {
		var x=document.createElement("b");
		x.className=cn + i;
		x.className=x.className + " " + color;
		d.appendChild(x);
	}
	el.appendChild(d,el.firstChild);
}


function getElementsBySelector(selector) {
	var i;
	var s=[];
	var selid="";
	var selclass="";
	var tag=selector;
	var objlist=[];
	if(selector.indexOf(" ")>0) { //descendant selector like "tag#id tag"
		s=selector.split(" ");
		var fs=s[0].split("#");
		if(fs.length==1) return(objlist);
		return(document.getElementById(fs[1]).getElementsByTagName(s[1]));
	}
	if(selector.indexOf("#")>0){ //id selector like "tag#id"
		s=selector.split("#");
		tag=s[0];
		selid=s[1];
	}
	if(selid!=""){
		objlist.push(document.getElementById(selid));
		return(objlist);
	}
	if(selector.indexOf(".")>0){ //class selector like "tag.class"
		s=selector.split(".");
		tag=s[0];
		selclass=s[1];
	}
	var v=document.getElementsByTagName(tag); // tag selector like "tag"
	if(selclass=="")
		return(v);
	for(i=0;i<v.length;i++){
		if(v[i].className==selclass){
			objlist.push(v[i]);
		}
	}
	return(objlist);
}

function doAppletCommand(command) {
 	if (document.getElementById('theApplet') === null) {
 		return;
 	}
 		
	document.getElementById('theApplet').getApplet().commandGotoState(command);
}

// Receive applet ChangeStateNotification and change the button states
function doAppletNotification(newState) {
	if ( menuPlay.in_array(newState) == false ) {
		return;
	}
	
	// change old "normal" image
	var hImage = document.getElementById("menuImage_" + headerSelectedImage);
	var str = "t" + headerSelectedImage + "_roll[0].src";
	eval('var src = ' + str);
	hImage.src = src;
	hImage.onmouseout = function() {
		// get id
		var id = this.id;
		
		// find out state name
		var stateName = id.replace("menuImage_", "");
		
		// change rollover image
		var str = "t" + stateName + "_roll[0].src";
		eval('var src = ' + str);
		this.src = src;
	};

	// change new "normal" image
	var hImage = document.getElementById("menuImage_" + newState);
	var str = "t" + newState + "_roll[1].src";
	eval('var src = ' + str);
	hImage.src = src;
	hImage.onmouseout = function() {
		// get id
		var id = this.id;
		
		// find out state name
		var stateName = id.replace("menuImage_", "");
		
		// change rollover image
		var str = "t" + stateName + "_roll[1].src";
		eval('var src = ' + str);
		this.src = src;
	};
	
	headerSelectedImage = newState;
}
