//
// 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 );
	}

function DisplayP(links,idname){
    var ran_unrounded=Math.random()*links;
    var ran_number=Math.floor(ran_unrounded)+1;
    document.getElementById(idname+ran_number).style.display="inline";
}

function writetostatus(input){
    window.status=input;
    return true;
}

//
// COOKIE
//
function cookie_create_date(){
var CookieDate = new Date (); 
CookieDate.setTime (expdate.getTime() + (1000 * 60 * 60 * 1000)); // FUTURE
return CookieDate;
}

function fix_fake_array(fakearray){
	tmp= new Array(fakearray.length-1)
	for (poss=0;poss<=fakearray.length-1;poss=poss+1) {
		tmp[poss]=fakearray[poss+1]
	}
	return tmp
}

var expdate = new Date ();
expdate.setTime (expdate.getTime() + (1000 * 60 * 60 * 24 * 31));

var deldate = new Date ();
deldate.setTime (deldate.getTime() -10);

//Array.prototype.inArray = function (value) {
//	var i;
//	for (i=0; i < this.length; i++) {
//		if (this[i] === value) {
//			return true;
//		}
//	}
//	return false;
//}

function fix_fake_array(fakearray){
	tmp= new Array(fakearray.length-1)
	for (poss=0;poss<=fakearray.length-1;poss=poss+1) {
		tmp[poss]=fakearray[poss+1]
	}
	return tmp
}

function inArray(array,target){
	var i;
	for (i=0; i < array.length; i++) {
		if (array[i] === target) {
			return true;
		}
	}
	return false;
}

function setCookie (name, value, expires) {
    if (!expires) expires = new Date();
    document.cookie = name + "=" + escape (value) + "; expires=" + expires.toGMTString() +  "; path=/";
    }


function getCookie (name) {
    var dcookie = document.cookie; 
    var cname = name + "=";
    var clen = dcookie.length;
    var cbegin = 0;
        while (cbegin < clen) {
        var vbegin = cbegin + cname.length;
            if (dcookie.substring(cbegin, vbegin) == cname) { 
            var vend = dcookie.indexOf (";", vbegin);
                if (vend == -1) vend = clen;
            return unescape(dcookie.substring(vbegin, vend));
            }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
            if (cbegin == 0) break;
        }
    return null;
    }

function setCookieArray(name){
    this.length = setCookieArray.arguments.length - 1;
        for (var i = 0; i < this.length; i++) {
        data = setCookieArray.arguments[i + 1]
        setCookie (name + i, data, expdate);
        }        
    }

function addCookieArray(name,newvalue){
    var newpos = new getCookieArray(name).length;
    setCookie (name +newpos,newvalue,expdate);
    }

function getCookieArray(name){
    var i = 0;
        while (getCookie(name + i) != null) {
        this[i + 1] = getCookie(name + i);
        i++; this.length = i; 
        }
    }





//
// CSS
//
function displayFunc(id,show){
	if(show==1){
		document.getElementById(id).style.display="";
		return;
	}
   	document.getElementById(id).style.display="none";
}


//
// 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 AjaxSendAndRead(myFilename,myId)
{ 
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){
     myId.innerHTML=req.responseText;
     }
  }

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

}

function ajaxGet(myFilename)
{ 
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)
  {
   x=1;
  //return req.status; 
  // 200 = oki
  }; 
  }
  try {
  req.open("GET",myFilename, true); 
  req.send(null); 
  } catch (e) {}
}

var http_request = false;
function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         //alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
	    try {
                 document.getElementById('ajaxres').innerHTML = result;            
		} catch (e) {}
         }
	 else {
            alert('There was a problem with the request.');
         }
      }
   }

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