// JavaScript Document


function dwzGetClientData(fieldsList){
	if(fieldsList == ""){
		return ""
	}
	
	var data = "";
	var list = fieldsList.split("|")
	
	for(var x=0; x<list.length; x++){
		var tmp = list[x].split(";")
		if(data != ""){
			data += "&"
		}		
		data += tmp[0] + "=" + dwzGetFieldValue(tmp[1], tmp[2])
	}
	return data;
}

function dwzGetBodyContent(html){
	var retVal = html
	if(retVal.length == 0){
		return ""
	}
	if(retVal.toLowerCase().lastIndexOf("<body") != -1){
		retVal = retVal.substring(retVal.toLowerCase().lastIndexOf("<body"))
		if(retVal.toLowerCase().indexOf(">") != -1){
			retVal = retVal.substring(retVal.toLowerCase().indexOf(">") + 1)
		}
	}
	if(retVal.toLowerCase().indexOf("</body") != -1){
		retVal = retVal.substring(0, retVal.toLowerCase().indexOf("</body"))		
	}
	return retVal
}

function Dwz_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function dwzGetValue(el){
	if(el.tagName.toLowerCase() == "select"){
		var value = ""		
		for(var i=0; i<el.options.length; i++){
			if(el.options[i].selected){
				if(value != ""){
					value += ","
				}
				if(el.options[i].value){
					value += el.options[i].value
				}else{
					value += el.options[i].text
				}
			}
		}
		return value
	}
	if(el.type){
		switch(el.type){
			case "checkbox":
			case "radio":
				if(el.checked){
					if(el.value){
						return el.value
					}else{
						return "on"
					}
				}else{
					return ""
				}
			default:
				return el.value			
		}
	}else if(el.value){
		return el.value	
	}else{
		return ""
	}
}

function dwzGetFieldValue(name, from){	
	switch(from){
		case "form":
			var el = Dwz_findObj(name)
			var value = ""			
			if(el.tagName && el.tagName.toLowerCase() == "select"){
				value = dwzGetValue(el)
			}else if(el.length){
				for(var i=0; i<el.length; i++){
					if(value != ""){
						value += ","
					}
					value += dwzGetValue(el[i])
				}
			}else{
				value = dwzGetValue(el)
			}			
			return value
		break;
		case "qstring":
			return dwzGetQueryString(name)
		break;
		default:
			return ""
	}
}

function dwzGetQueryString(name) {
	var hu = window.location.search.substring(1);
	var gy = hu.split("&");
	for (var i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0].toLowerCase() == name.toLowerCase()) {
			return ft[1];
		}
	}
	return ""
}

function dwzGetPosition(width, height){
	var p = {}
	p.Top = "0px"
	p.Left = "0px"
	
	var w = $(window).width()
	var h = $(window).height()
	
	var left = Math.floor( (w - parseFloat(width)) / 2 )
	var top = Math.floor( (h - parseFloat(height)) / 2 )
	
	if(top > 0){
		p.Top = top.toString() + "px"
	}
	if(left > 0){
		p.Left = left.toString() + "px"
	}
	return p
}

function dwzAjaxContentLoad(urlPage, 
							method,
							clientData, 
							resultDiv, 
							loaderSettings
							){		
	//debugger
	var loaderCss =  {}
			
	if(!loaderSettings.loaderTheme){
		loaderCss =  {		
						padding:        	loaderSettings.loaderPadding, 
						margin:         	loaderSettings.loaderMargin, 						
						//top:            	loaderSettings.loaderTop, 
						//left:           	loaderSettings.loaderLeft, 
						textAlign:      	loaderSettings.loaderTextAlign, 
						'vertical-align':	loaderSettings.loaderTextVerticalAlign, 
						color:          	loaderSettings.loaderColor, 
						border:         	loaderSettings.loaderBorderWidth + 'px solid ' + loaderSettings.loaderBorderColor, //
						backgroundColor:	loaderSettings.loaderMsgBgColor, 
						cursor:         	loaderSettings.loaderCursor 
					}
	}
	
	if(!loaderSettings.loaderModal){
		if(loaderSettings.loaderWaitCentered){
			var pos = dwzGetPosition(loaderSettings.loaderWidth, loaderSettings.loaderHeight)			
			loaderCss.top = pos.Top
			loaderCss.left = pos.Left
		}else{
			loaderCss.top = loaderSettings.loaderTop
			loaderCss.left = loaderSettings.loaderLeft
		}
	}
	
	loaderCss.width = loaderSettings.loaderWidth
	loaderCss.height = loaderSettings.loaderHeight
		
	var waitImage = ""
	if(loaderSettings.loaderWaitImage != ""){
		waitImage = '<td width="50" ><img src="' + loaderSettings.loaderWaitImage + '" /></td>'
		waitImage += '<td >&nbsp;</td>'
	}

	var html = '<table width="100%" border=0 cellpadding=0 cellspacing=0 >'
	
	if(!loaderSettings.loaderTheme && loaderSettings.loaderTitle != ""){
		html += '<tr><td colspan="3" align="' + loaderSettings.loaderTextAlign + '" >' + loaderSettings.loaderTitle + '</td></tr>'
	}
	html += '<tr>' + waitImage + '<td valign="' + loaderSettings.loaderTextVerticalAlign + '">' + loaderSettings.loaderMessage + '</td></tr></table>'
			
	if(loaderSettings.loaderModal){
		$("#" + resultDiv).html("")
		
		$("#" + resultDiv).block({
				themedCSS:	loaderCss,
				css:		loaderCss,
				message: 	html,
				draggable: 	loaderSettings.loaderDraggable,
				theme:     	loaderSettings.loaderTheme,
				title:		loaderSettings.loaderTitle,
				overlayCSS: { backgroundColor: loaderSettings.loaderBgColor, 
							  opacity: loaderSettings.loaderBgOpacity,
							  cursor : loaderSettings.loaderCursor} ,
				fadeIn:  	loaderSettings.loaderFadeIn, 
				fadeOut:  	loaderSettings.loaderFadeOut
			 });
	}else{	
		//$.blockUI.defaults.css = loaderCss;
		/*
		$.blockUI({
			themedCSS:	loaderCss,
			css:		loaderCss,
			message: 	html,
			draggable: 	loaderSettings.loaderDraggable,
			theme:     	loaderSettings.loaderTheme,
			title:		loaderSettings.loaderTitle,
		 	overlayCSS: { backgroundColor: loaderSettings.loaderBgColor, 
						  opacity: loaderSettings.loaderBgOpacity, 
						  cursor : loaderSettings.loaderCursor} ,
			fadeIn:  	loaderSettings.loaderFadeIn, 
	    	fadeOut:  	loaderSettings.loaderFadeOut
		 });
		*/
	}
	
	var postData = dwzGetClientData(clientData)
	
	$.ajax({
		url: urlPage,
		dataType:"html",
		data: postData,
		type: method,
		cache:false,
		complete:function(XMLHttpRequest, textStatus){
			if(XMLHttpRequest.status.toString() == "500"){
				win = window.open("")
				win.document.open()
				win.document.write(XMLHttpRequest.responseText)
				win.document.close()
				return
			}
						
			var content = dwzGetBodyContent(XMLHttpRequest.responseText)
			
			if(loaderSettings.loaderModal){
				setTimeout(function(){
										$("#" + resultDiv).html(content)
										setTimeout($.unblockUI, 500)
									}, 1500)
			}else{
				$("#" + resultDiv).html(content)
				//setTimeout($.unblockUI, 500)
			}
			
		},
		async: true
	});
	
	return false;
}
