/*	Cosmos
	Content, Objects and Scripts Managing and Operating System

	CJF
	Cosmos Javascript Framework
	
	
	Creer par : Icotopia
				www.icotopia.com
				
	CJF-version : 0.0.0
*/
var CJF = {

	// Current elements
	elems :[],
	
	// Get all elements by all the IDS in parameter
	getById:function(){
		var tempElems = [];
		for(var i = 0; i < arguments.length; i++)
			if(typeof arguments[i] === 'string')
				tempElems.push(document.getElementById(arguments[i]));
			else if(arguments[i].constructor.toString().indexOf("Array"))
				for(var j = 0; j < arguments[i].length; j++)
					tempElems.push(document.getElementById(arguments[i][j]));
		this.elems = tempElems;
		return this;
	},
	
	getByName:function(){
		var tempElems = [];
		for(var i = 0; i < arguments.length;i++){
			if(typeof arguments[i] === 'string'){
				var e = document.getElementsByName(arguments[i]);
                for(var j=0;j < e.length;j++)
					tempElems.push(e[j]);
			}
		}
        this.elems = tempElems;
        return this;
	},
	
	getByTag:function(){
		var tempElems = [];
		for(var i = 0; i < arguments.length;i++){
			if(typeof arguments[i] === 'string'){
				var e = document.getElementsByName(arguments[i]);
                for(var j=0;j < e.length;j++)
					tempElems.push(e[j]);
			}
		}
        this.elems = tempElems;
        return this;
	},
	
	addClass:function(newName){
		for(var i = 0; i < this.elems.length; i++)
			this.elems[i].className = this.trim(this.elems[i].className+' '+newName);
		return this;
	},
	
	replaceClass:function(oldName,newName){
		for(var i =0; i < this.elems.length; i++)
			this.elems[i].className = this.elems[i].className.replace(oldName,newName);
	},
	
	on:function(action,callback){
		for(var i = 0; i < this.elems.length;i++)
			(this.elems[0].addEventListener ? this.elems[i].addEventListener(action,callback,false) : this.elems[i].attachEvent('on'+action,callback));	
		return this;
	},
	
	addText:function(text){
		for(var i = 0; i < this.elems.length;i++)
			this.elems[i].innerHTML += text;	
		return this;
	},
	
	trim:function(string){
		return string.replace(/^\s+/g,'').replace(/\s+$/g,'');
	},
	
	showHide:function(caller,base,num){
		if(caller.className.indexOf("closed") != -1)
		{
			caller.className = caller.replaceClass("closed","opened");
			this.getById(base+num).style.display = 'block';	
		}
		else
		{
			caller.className = caller.replaceClass("opened","closed");
			this.getById(base+num).style.display = 'none';	
		}
	},
	/* Form Validator */
	/*formValidator:function(form){
		//els = getById("test").getByTag("input");
	},*/
	
	isNumeric:function(value){
		return (/^-?([0-9])+$/).test(value);
	},
	
	isPostalCode:function(value){
		return (/^[a-zA-Z]\d[a-zA-Z](-|\s)?\d[a-zA-Z]\d$/).test(value);
	},
	
	isZipCode:function(value){
		return (/^\d{5}$/).test(value);
	},
	
	isEmail:function(value){
		return (/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/).test(value);	
	}
}

function clearText(field){
    if (field.defaultValue == field.value)
	{
		field.style.color = "#000000";
		field.value = '';	
	}
}
function returnText(field){
	if(field.value == '') 
	{
		field.style.color = "#cfcfcf";
		field.value = field.defaultValue;
	}
}

function tabbed(tab_array,current,tab){

	if(document.getElementById('tab2'))
	{
		if(tab.id == "tab2")
		{
			CJF.getById('tab1').replaceClass("tab_on","tab_off");
			CJF.getById('tab2').replaceClass("tab_off","tab_on");
		}
		else
		{
			CJF.getById('tab2').replaceClass("tab_on","tab_off");
			CJF.getById('tab1').replaceClass("tab_off","tab_on");
		}
	}
	if(document.getElementById('tab2_en'))
	{
		if(tab.id == "tab2_en")
		{
			CJF.getById('tab1_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab2_en').replaceClass("tab_off","tab_on");
		}
		else
		{
			CJF.getById('tab2_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab1_en').replaceClass("tab_off","tab_on");
		}
	}
	
	CJF.getById(tab_array).replaceClass("opened","closed");
	CJF.getById(current).replaceClass("closed","opened");
}
function tabbed2(tab_array,current,tab){
	
	if(document.getElementById('tab4'))
	{
		if(tab.id == "tab4")
		{
			CJF.getById('tab3').replaceClass("tab_on","tab_off");
			CJF.getById('tab4').replaceClass("tab_off","tab_on");
		}
		else
		{
			CJF.getById('tab4').replaceClass("tab_on","tab_off");
			CJF.getById('tab3').replaceClass("tab_off","tab_on");
		}
	}
	if(document.getElementById('tab4_en'))
	{
		if(tab.id == "tab4_en")
		{
			CJF.getById('tab3_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab4_en').replaceClass("tab_off","tab_on");
		}
		else
		{
			CJF.getById('tab4_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab3_en').replaceClass("tab_off","tab_on");
		}
	}
	CJF.getById(tab_array).replaceClass("opened","closed");
	CJF.getById(current).replaceClass("closed","opened");
}
function _display(show,hide,box,box2){
	CJF.getById(show).replaceClass("closed","opened");
	CJF.getById(hide).replaceClass("opened","closed");
	CJF.getById(box).replaceClass("closed","opened");
	CJF.getById(box2).replaceClass("opened","closed");
	if(box == "box_form_big1")
	{
		if(document.getElementById('tab4'))
		{
			CJF.getById('tab4').replaceClass("tab_on","tab_off");
			CJF.getById('tab3').replaceClass("tab_off","tab_on");	
		}
		else
		{
			CJF.getById('tab4_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab3_en').replaceClass("tab_off","tab_on");
		}
	}
	else
	{
		if(document.getElementById('tab4'))
		{
			CJF.getById('tab3').replaceClass("tab_on","tab_off");
			CJF.getById('tab4').replaceClass("tab_off","tab_on");	
		}
		else
		{
			CJF.getById('tab3_en').replaceClass("tab_on","tab_off");
			CJF.getById('tab4_en').replaceClass("tab_off","tab_on");	
		}
	}
}
