//
// MASTER GENERAL
//
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function none_to_zero(vval){
	if (vval==undefined) return 0;
	return vval;
}

function toggle() {
	for ( var i=0; i < arguments.length; i++ ) {
		$(arguments[i]).style.display = ($(arguments[i]).style.display != 'none' ? 'none' : '' );
	}
}

function toggle_classname(idd,cn1,cn2) {	
	$(idd).className = ($(idd).className != cn1 ? cn1 : cn2 );
	}


//
// HTML
//
function go_anchor_divscroll(iddiv,idanchor){
$(iddiv).scrollTop=$(idanchor).offsetTop-15;
}

//
// COOKIE
//

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0){ 
		rres= c.substring(nameEQ.length,c.length)
			if (rres=="Xempty"){
			return "";
			}
		return rres;
		}
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function isCookie(name) {
 	var x = readCookie(name)
  	if (x) {
		return 1;
  	}
  	return 0;
}

function removeinsideCookie(name,vval,days){
	old_vval=readCookie(name);
	new_vval=old_vval.replace(vval+"|@|","")	
 	createCookie(name,new_vval,days);
}


function createArrayCookie(name,vval,days,deny_duplicates) {
	
 	if (!isCookie(name)){createCookie(name,"Xempty",days);} 	// Make sure the Cookie exist
	
	old_vval=readCookie(name);
	if (deny_duplicates) { if (!duplicateCookie(old_vval,vval)){return 0;} }  // DUPLICATES

	// Add New Value 
 	new_vval=old_vval+vval+"|@|";
 	createCookie(name,new_vval,days);
}

function duplicateCookie(old_vval,vval){
	// check if we already saved a value in a array-cookie;
	if (old_vval.indexOf(vval)=="-1"){
		return true;	
	}
	return false;
}




















//
// Strings
//

// Bra for sokrutor.. texten som e standard tasbort
function cleanInput(sVal,id){
  if ($(id).value.indexOf(sVal)!="-1"){
     $(id).value="";
  }
}

function add_string(newstring,oldstring,add_start){
	if (none_to_zero(add_start)) return newstring+oldstring;
	return oldstring+newstring;
}

//
// FORMS - INPUT 
//
function make_input_empty(obj,StandardValue){
	if ($(obj).value==StandardValue) $(obj).value="";
}

function check_empty(str,minimum){
	if (str.length<none_to_zero(minimum)) return 1;
	return 0;
}

function check_number(str){
	return isNaN(str);
}

function check_email(str){
	e=str;
	if (e.length==0) return false;

	ok = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQESTUVWXYZ.@-_";
	for(h=0; h < e.length ;h++){
		if(ok.indexOf(e.charAt(h))==-1){ 
			return false;
		}		
	} 
	
	if(str.indexOf('@')==-1)  return false;
	if(str.indexOf('.')==-1)  return false;
	
	return true;
}

function check_phone(str){
	// check if we have atleast 5 numbers in it
	numbers=0;
	start=0;


	while (start<11){
		if (str.indexOf(start)!=-1){
			numbers++;
		}
	   	start++;
	}	
	
	
	if (numbers>1){
		return 1
	}	
	return 0
}

function check_selected_radio(radio){
	theone=0;
	for (i=0;i<radio.length;i++){
		if (radio[i].checked==true){
		theone=radio[i].value;
		break //exist for loop, as target acquired.
		}
	}
	return theone
}

function changecss(theClass,element,value) {
        //documentation for this script at http://www.shawnolson.net/a/503/
         var cssRules;
         if (document.all) {
          cssRules = 'rules';
         }
         else if (document.getElementById) {
          cssRules = 'cssRules';
         }
         for (var S = 0; S < document.styleSheets.length; S++){
          for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
           if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
            document.styleSheets[S][cssRules][R].style[element] = value;
           }
          }
         }
        }

//
// AJAX
//

function SendAndForgetAjax(query){
	var req = null;
	var ran_unrounded=Math.random()*5;
	var ran_number=Math.floor(ran_unrounded);	
	query=query+"&rz="+ran_number;
	
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
		if (req.overrideMimeType)
		{
			req.overrideMimeType('text/xml');
 		}
	}
	else if (window.ActiveXObject)
	{
		try {
		req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)
		{
			try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

  try {
  req.open("GET",query, true);
  req.send(null);
  } catch (e) {}
}


function SendAndReturnAjax(query,ReturnID){ 
  var ran_unrounded=Math.random()*50000000;
  var ran_number=Math.floor(ran_unrounded);	
  query=query+"&rz="+ran_number;
  var req = null; 
     if (window.XMLHttpRequest){
     req = new XMLHttpRequest();
	if (req.overrideMimeType){
	req.overrideMimeType('text/xml');
	}
     }
     else if (window.ActiveXObject){
     try {
     req = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
     try {
     req = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e) {}
     }
     }

   req.onreadystatechange = function(){
   if(req.readyState == 4) {
   ReturnID.innerHTML=req.responseText;
   }
   }

  try {
  req.open("GET",query, true);
  req.send(null);
  } catch (e) {}
}

// CONFIRM
function myconfirm(msg,newlocation){ 

if(confirm(msg)) 
     { 
     window.location =  newlocation; 
     } 
} 
