// JavaScript Document
function checkForm(objForm)
{
  if (document.getElementById("manatoryTxt")) {
		document.getElementById("manatoryTxt").style.display="none";
  }	
	
  var strMessage ='';
  var arClass, bValid;
  var objField = objForm.getElementsByTagName('*');

  for (var iFieldCounter=0; iFieldCounter<objField.length; iFieldCounter++)
  {
    
	
	 switch (objField[iFieldCounter].className)
      {
        case "validate['string'] text-input":
	 		objField[iFieldCounter].style.border = "1px solid #A5A8B8";
			
			switch (objField[iFieldCounter].value) {
				case "Navn":
				objField[iFieldCounter].value = "Namn";
				bValid = false;
				break;
				case "Telefon":
				objField[iFieldCounter].value = "Telefon";
				bValid = false;
				break;
				case "Postnummer":
				objField[iFieldCounter].value = "Postnummer";
				bValid = false;
				break;
				default:
				bValid = isString(objField[iFieldCounter].value.replace(/^\s*|\s*$/g, ''));
			
			}
	
			
        
		break;
        case "validate['number'] text-input" :
		objField[iFieldCounter].style.border = "1px solid #A5A8B8";
           	//objField[iFieldCounter].className = "text-input";
		 bValid = isNumber(objField[iFieldCounter].value);
           break;
				case "validate['email'] text-input" :
				objField[iFieldCounter].style.border = "1px solid #A5A8B8";
				bValid = isEmail(objField[iFieldCounter].value);
		
          	break;
			
			case "validate['require'] text-input" :
				
				objField[iFieldCounter].style.border = "1px solid #A5A8B8";
				
				if (objField[iFieldCounter].value == "") {
					bValid = false;
				}
				
		
				
				//isEmail(objField[iFieldCounter].value);
		
          	break;
        
	case "validate['checkbox'] checkbox-input":
		objField[iFieldCounter].style.border = "1px solid #A5A8B8";		
		if (!objField[iFieldCounter].checked)  bValid = false;
		
	break;

	default:
           bValid = true;
      }
	
	
	     if (bValid == false)
      {
        // If this field is invalid, leave the testing early,
        // and alert the visitor to this error
       // alert('Please review the value you provided for ' + objField[iFieldCounter].name);
        strMessage='<b>Fyll i nödvändiga fält!</b><br /><br />';
		objField[iFieldCounter].select();
		objField[iFieldCounter].style.border = "1px solid red";
		
		// objField[iFieldCounter].className = "text-input-error";
        //objField[iFieldCounter].focus();
       // return false;
      }
	
	
 }

	if (strMessage!='') {
		//alert(strMessage);
		 // return false;
		createDiv(strMessage,objForm)
		//makeMovable("div1", "div1");
		return false;
	} else {
		// return true;
		 objForm.submit();
	}


}



function getElementPosition(objForm){
var offsetTrail = objForm;
var offsetLeft = 0;
var offsetTop = 0;
while (offsetTrail){
offsetLeft += offsetTrail.offsetLeft;
offsetTop += offsetTrail.offsetTop;
offsetTrail = offsetTrail.offsetParent;
}
if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined'){
offsetLeft += document.body.leftMargin;
offsetTop += document.body.topMargin;
}

return {left:offsetLeft,top:offsetTop};
}


function createDiv(strInnerHmtl,obj){

var tempX = 0
var tempY = 0
// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.

    pos = getElementPosition(obj);
	tempX = pos.left;
    tempY =  pos.top-60;
	
	


if (document.getElementById("manatoryTxt")) {
document.getElementById("manatoryTxt").style.display="inline";
} else {
var divTag = document.createElement("div");
divTag.id = "manatoryTxt";

divTag.style.position = "absolute";
divTag.style.top = "" + tempY +"px";
divTag.style.left= "" + tempX +"px"
divTag.className ="dynamicDiv";
divTag.innerHTML = "<div class='formWarning'><img src='css/warning.png'/></div><div class='closeError' onclick=\"document.getElementById('manatoryTxt').style.display='none'\"><img src='css/close.png'/></div><div class='errorMessage'>"+ strInnerHmtl + "</div>";
document.body.appendChild(divTag);
}


}


function isString(strValue)
{
  return (typeof strValue == 'string' && strValue != '' && isNaN(strValue));
}

function isNumber(strValue)
{
  return (!isNaN(strValue) && strValue != '');
}



function isEmail(strValue)
{
  var objRE = /^[\w-\.\']{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,}$/;

  return (strValue != '' && objRE.test(strValue));
}

var makeMovable = function(target, handle) {
  target = $(target);

  $(handle).onmousedown = function(event) {
    var initialXOffset = target.offsetLeft - event.pageX;
    var initialYOffset = target.offsetTop - event.pageY;

    document.onmousemove = function(event) {
      target.style.left = event.pageX + initialXOffset;
      target.style.top = event.pageY + initialYOffset; 
    }

    document.onmouseup = function() {
      document.onmousemove = null;
      document.onmouseup = null;
    }

    return false;
  }
}

